Amazon Elastic Transcoder 개요 및 Lambda에서 Job 실행
10376 단어 람다ElasticTranscoderAWS
Amazon Elastic Transcoder
영상·음성을 사용자가 재생 가능한 포맷으로 변환하는 클라우드 서비스
용어
파이프라인
동영상을 통해 트랜스코딩하는 파이프라인
Pipeline ID가 할당되어 Lambda 등에서 사용할 때 지정
다음 주요 설정 항목
Job
Pipeline 내에서 실행되는 트랜스 코딩 처리
Lambda 연동하는 경우 Lambda에서 생성, 실행
다음 주요 설정 항목
트랜스코딩 내용을 정리한 설정
Job에서 트랜스코딩 내용으로 지정
AWS에서 제공하거나 사용자 정의 생성을 사용
사전 설정 ID가 할당되고 Lambda 등에서 사용할 때 지정
Preset 목록: htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 에 s ctct 란 s 여기 r / ㅁ st / ゔ ぇ ぺ ぺ ぐ で / sys로 mep 할 수 ts. HTML
아키텍처 예
1. 동영상이 S3에 업로드되었음을 트리거하기 위해 Lambda 실행
2. Lambda에서 Amazon Elastic Transcoder Job 실행
3. Amazon Elastic Transcoder가 S3의 원본 동영상에서 트랜스코딩하여 S3로 출력
트랜스코딩 시간
전 동영상의 50~100% 정도
요금 시산
무료 테두리
전 동영상의 50~100% 정도
요금 시산
무료 테두리
1일 1시간 동영상을 트랜스코딩한 경우
(1시간 × 30일 × 60분 - 20분) × 0.017USD = 30.26USD = 3177엔
(1시간 × 30일 × 60분 - 10분) × 0.034USD = 60.86USD = 6390엔
Amazon Elastic Transcoder + Lambda 예제
Pipeline의 이름, 변환 소스/대상 S3 버킷, 썸네일 출력 대상 S3 버킷 등을 지정
입력용:
출력용:
Lambda 트리거 설정
Elastic Transcoder에 Job을 제출할 수 있는 정책 AmazonElasticTranscoder_JobsSubmitter 추가
다음 샘플
let aws = require('aws-sdk');
let s3 = new aws.S3({apiVersion: '2006-03-01'});
let ets = new aws.ElasticTranscoder({apiVersion: '2012-09-25', region: 'ap-northeast-1'});
exports.handler = function(event, context) {
let pipelineId = 'xxxxxxxxxxxxx-xxxxx';
let presetId = '1351620000001-000030';
let bucket = event.Records[0].s3.bucket.name;
let key = event.Records[0].s3.object.key;
let fileName = (key.split('/')[1]).split('.')[0];
ets.createJob({
PipelineId: pipelineId,
OutputKeyPrefix: 'output/',
Input: {
Key: key,
FrameRate: 'auto',
Resolution: 'auto',
AspectRatio: 'auto',
Interlaced: 'auto',
Container: 'auto',
},
Output: {
Key: fileName + '.mp4',
ThumbnailPattern: fileName + '-thumbs-{count}',
PresetId: presetId,
Rotate: 'auto'
}
},
function(error, data) {
if(error) {
console.log(error);
context.done('error',error);
} else {
console.log('Job submitted');
context.done(null,'')
}
});
}
ets.createJob
: Job 생성 중PipelineId
, presetId
: AWS Management Console에서 확인 및 지정OutputKeyPrefix
: 출력 대상 폴더출력되는 파일은
OutputKeyPrefix
+ Output['key']
입니다.참고 기사
Reference
이 문제에 관하여(Amazon Elastic Transcoder 개요 및 Lambda에서 Job 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takmot/items/4689aac521bdb4c455b3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)