Created
February 1, 2013 07:34
-
-
Save YoshihitoAso/4689931 to your computer and use it in GitHub Desktop.
Amazon Elastic Transcoder を Java SDK から操作
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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()); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
情報が少ないのと今回JavaのSDK使うのが初めてというのもあって苦戦しております。パイプラインまでを管理コンソールで作成しておいて、JavaのSDKからS3へ動画ファイルをUPしたタイミングでJobを新規作成してトランスコードさせたいのですが、参考になる資料はありますでしょうか?