Skip to content

Instantly share code, notes, and snippets.

@YoshihitoAso
Created February 1, 2013 07:34
Show Gist options
  • Save YoshihitoAso/4689931 to your computer and use it in GitHub Desktop.
Save YoshihitoAso/4689931 to your computer and use it in GitHub Desktop.
Amazon Elastic Transcoder を Java SDK から操作
import java.util.List;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.ClasspathPropertiesFileCredentialsProvider;
import com.amazonaws.services.elastictranscoder.AmazonElasticTranscoder;
import com.amazonaws.services.elastictranscoder.AmazonElasticTranscoderClient;
import com.amazonaws.services.elastictranscoder.model.CreatePipelineRequest;
import com.amazonaws.services.elastictranscoder.model.CreatePipelineResult;
import com.amazonaws.services.elastictranscoder.model.Job;
import com.amazonaws.services.elastictranscoder.model.JobInput;
import com.amazonaws.services.elastictranscoder.model.JobOutput;
import com.amazonaws.services.elastictranscoder.model.ListJobsByPipelineRequest;
import com.amazonaws.services.elastictranscoder.model.ListJobsByPipelineResult;
import com.amazonaws.services.elastictranscoder.model.ListPipelinesRequest;
import com.amazonaws.services.elastictranscoder.model.ListPipelinesResult;
import com.amazonaws.services.elastictranscoder.model.ListPresetsRequest;
import com.amazonaws.services.elastictranscoder.model.ListPresetsResult;
import com.amazonaws.services.elastictranscoder.model.Notifications;
import com.amazonaws.services.elastictranscoder.model.Pipeline;
import com.amazonaws.services.elastictranscoder.model.Preset;
public class AmazonElasticTranscoderSample {
static AmazonElasticTranscoder transCoder;
private static void init() throws Exception {
AWSCredentials credentials = new ClasspathPropertiesFileCredentialsProvider().getCredentials();
transCoder = new AmazonElasticTranscoderClient(credentials);
transCoder.setEndpoint("https://elastictranscoder.ap-northeast-1.amazonaws.com");
}
public static void main(String[] args) throws Exception {
init();
CreatePipelineRequest createPipelineRequest = new CreatePipelineRequest();
createPipelineRequest.setName("hogehoge");
createPipelineRequest.setInputBucket("input.yoshihito.bucket");
createPipelineRequest.setOutputBucket("output.yoshihito.bucket");
Notifications notifications = new Notifications();
notifications.setWarning("arn:aws:sns:ap-northeast-1:7712XXXXXXXX:topic-sample");
notifications.setProgressing("arn:aws:sns:ap-northeast-1:7712XXXXXXXX:topic-sample");
notifications.setError("arn:aws:sns:ap-northeast-1:7712XXXXXXXX:topic-sample");
notifications.setCompleted("arn:aws:sns:ap-northeast-1:7712XXXXXXXX:topic-sample");
createPipelineRequest.setNotifications(notifications);
createPipelineRequest.setRole("arn:aws:iam::7712XXXXXXXX:role/Elastic_Transcoder_Default_Role");
CreatePipelineResult createPipelineResult = transCoder.createPipeline(createPipelineRequest);
Pipeline p = createPipelineResult.getPipeline();
System.out.println("----------New Pipeline----------");
System.out.println("Id : "+p.getId());
System.out.println(" Name : "+p.getName());
System.out.println(" Status : "+p.getStatus());
ListPipelinesRequest listPipelineRequest = new ListPipelinesRequest();
ListPipelinesResult listPipelineResult = transCoder.listPipelines(listPipelineRequest);
List<Pipeline> pipelines = listPipelineResult.getPipelines();
System.out.println("----------Pipeline List----------");
for (Pipeline pipeline : pipelines) {
System.out.println("Id : " + pipeline.getId());
System.out.println(" Name : " + pipeline.getName());
System.out.println(" Role : " + pipeline.getRole());
ListJobsByPipelineRequest listJobsByPipelineRequest = new ListJobsByPipelineRequest();
listJobsByPipelineRequest.setPipelineId(pipeline.getId());
ListJobsByPipelineResult listJobsByPipelineResult = transCoder.listJobsByPipeline(listJobsByPipelineRequest);
List<Job> jobs = listJobsByPipelineResult.getJobs();
for(Job job : jobs){
System.out.println(" Id : "+job.getId());
JobInput jobInput = job.getInput();
System.out.println(" JobInput");
System.out.println(" AspectRatio : "+jobInput.getAspectRatio());
System.out.println(" Container : "+jobInput.getContainer());
System.out.println(" FrameRate : "+jobInput.getFrameRate());
System.out.println(" Interlaced : "+jobInput.getInterlaced());
System.out.println(" Key : "+jobInput.getKey());
System.out.println(" Resolution : "+jobInput.getResolution());
JobOutput jobOutput = job.getOutput();
System.out.println(" JobOutput");
System.out.println(" Key : "+jobOutput.getKey());
System.out.println(" PresetId : "+jobOutput.getPresetId());
System.out.println(" Rotate : "+jobOutput.getRotate());
System.out.println(" Status : "+jobOutput.getStatus());
System.out.println(" StatusDetail : "+jobOutput.getStatusDetail());
System.out.println(" ThumbnailPattern : "+jobOutput.getThumbnailPattern());
}
}
System.out.println("----------Preset List----------");
ListPresetsRequest listPresetsRequest = new ListPresetsRequest();
ListPresetsResult listPresetsResult = transCoder.listPresets(listPresetsRequest);
List<Preset> presets = listPresetsResult.getPresets();
for (Preset preset : presets) {
System.out.println("Id : " + preset.getId());
System.out.println(" Name : " + preset.getName());
System.out.println(" Description : " + preset.getDescription());
System.out.println(" Type : " + preset.getType());
System.out.println(" Thumbnails : " + preset.getThumbnails());
System.out.println(" Video : " + preset.getVideo());
System.out.println(" Audio : " + preset.getAudio());
}
}
}
@orinbou
Copy link

orinbou commented Mar 18, 2013

情報が少ないのと今回JavaのSDK使うのが初めてというのもあって苦戦しております。パイプラインまでを管理コンソールで作成しておいて、JavaのSDKからS3へ動画ファイルをUPしたタイミングでJobを新規作成してトランスコードさせたいのですが、参考になる資料はありますでしょうか?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment