LoginSignup
2

More than 5 years have passed since last update.

JavaでAWS Elastic Transcoderを使う

Last updated at Posted at 2015-02-13

Elastic Transcoder自体の設定で、予めパイプラインを作成して、入力元bucket、出力先bucketなどを指定しておく必要がある。

コードは例によってGroovy Script。

@Grab('com.amazonaws:aws-java-sdk:1.9.17')
import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.elastictranscoder.AmazonElasticTranscoderClient;
import com.amazonaws.services.elastictranscoder.model.CreateJobOutput;
import com.amazonaws.services.elastictranscoder.model.CreateJobRequest;
import com.amazonaws.services.elastictranscoder.model.CreateJobResult;
import com.amazonaws.services.elastictranscoder.model.JobInput;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;


// 変換用動画ファイルをS3へアップロード

AWSCredentials awsCredentials = new BasicAWSCredentials("awsAccessKey", "awsSecretAccessKey");

ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("proxyhost");
clientConfiguration.setProxyPort(80);

AmazonS3 s3Client = new AmazonS3Client(awsCredentials, clientConfiguration);

long now = new Date().getTime()
String key = "uploadtest_" + now + ".wmv";

// アップロード
s3Client.putObject("inputBucket", key, new File("sample.wmv"));


// Elastic Transcoderで変換

// 出力の設定
CreateJobOutput output = new CreateJobOutput();
output.setPresetId("1351620000001-100070"); // Web PresetId
output.setKey("output_" + now + ".mp4");

// 入力の設定
JobInput input = new JobInput();
input.setKey(key);

// 変換リクエストを作成
CreateJobRequest request = new CreateJobRequest();
request.setPipelineId("your pipelineId"); // パイプライン名ではなく、右の形式のもの ^\d{13}-\w{6}$
request.setInput(input);
request.setOutput(output);

AmazonElasticTranscoderClient amazonElasticTranscoderClient = new AmazonElasticTranscoderClient(awsCredentials, clientConfiguration);
Region region = Region.getRegion(Regions.AP_NORTHEAST_1);
amazonElasticTranscoderClient.setRegion(region);

// 変換
CreateJobResult createJobResult = amazonElasticTranscoderClient.createJob(request);

println createJobResult.getJob().getId(); // 変換依頼したジョブのid表示

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2