Video on Demand on AWS Foundation에 큐 호핑 추가
8036 단어 람다MediaConvertAWSNode.js
전제

경위
AWS Elemental MediaConvert로 동영상 변환 처리를 구현했습니다만, 통상 1분 정도로 완료해야 하는 처리가 5분 이상 걸릴 때가 있었습니다. 상세하게 보면 변환 처리는 1분 정도로 끝나고 있습니다만, 처리 개시까지의 대기 시간이 긴 것을 알았습니다.
원인
처리가 시작되기까지 대기 시간이 길기 때문에 그 이유는 지원팀에 문의해도 답변을 받지 못했습니다. 대신 아래 페이지에 있는 것처럼 큐 호핑 설정을 함으로써 상황을 개선할 수 있다는 것이었습니다.
htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / 메아 아콘 ゔ ぇ rt / ㅁ st / u g / 싯찐 ㅁ ぅ く ええ ほっぴん g ー ー ら ぉ い ぉ ん 와이 ts. HTML
큐 호핑 설정
큐 만들기
우선 호핑을 위한 큐를 CloudFormation에서 작성합니다. AWS 페이지에서는 예약 대기열을 권장하지만 CloudFormation에서는 ON_DEMAND만 지원하는 것 같습니다. 사용중인 상황에 따라 선택하십시오.
MediaConvertHopDestination:
Type: 'AWS::MediaConvert::Queue'
Properties:
Name: 'hopDestination'
PricingPlan: 'ON_DEMAND'
Status: 'ACTIVE'
MediaConvert 설정 파일 수정
Video on Demand on AWS Foundation에서 CloudFormation을 실행하면 job-settings.json이라는 파일이 생성됩니다. 여기에 큐 호핑 설정을 추가합니다.
{
"Queue": "Default",
"Role": "",
"Settings": {
"OutputGroups": [
{
--- 省略 ----
"AccelerationSettings": {
"Mode": "PREFERRED"
},
"StatusUpdateInterval": "SECONDS_60",
--- 以下を追記 ----
"Priority": 0,
"HopDestinations": [
{
"WaitMinutes": 1,
"Queue": "arn:aws:mediaconvert:ap-northeast-1:XXXXXXXXXX:queues/QueueHopping"
}
]
}
LambdaFunction 수정
job-submit/index.js
/**
* 追記
*/
const hopDestinationArn = `arn:aws:mediaconvert:ap-northeast-1:${accountId}:queues/hopDestination`
/**
* 修正
*/
job = await utils.updateJobSettings(job,inputPath,outputPath,metaData,MEDIACONVERT_ROLE,hopDestinationArn);
job-submit/lib/utils.js
for (let group of outputGroups) {
switch (group.OutputGroupSettings.Type) {
case 'FILE_GROUP_SETTINGS':
group.OutputGroupSettings.FileGroupSettings.Destination = getPath(group, fileNum++);
break;
case 'HLS_GROUP_SETTINGS':
group.OutputGroupSettings.HlsGroupSettings.Destination = getPath(group, hlsNum++);
break;
case 'DASH_ISO_GROUP_SETTINGS':
group.OutputGroupSettings.DashIsoGroupSettings.Destination = getPath(group, dashNum++);
break;
case 'MS_SMOOTH_GROUP_SETTINGS':
group.OutputGroupSettings.MsSmoothGroupSettings.Destination = getPath(group, mssNum++);
break;
case 'CMAF_GROUP_SETTINGS':
group.OutputGroupSettings.CmafGroupSettings.Destination = getPath(group, cmafNum++);
break;
default:
throw Error('OutputGroupSettings.Type is not a valid type. Please check your job settings file.');
}
}
/**
* 追記
*/
job.HopDestinations[0].Queue = hopDestinationArn;
요약
이제 큐 호핑 설정을 추가 할 수 있습니다.
Video on Demand on AWS Foundation은 거의 Node.js로 만들어졌기 때문에 사용자 정의가 쉽고 편리하다고 느꼈습니다. 세세한 튜닝에도 대응할 수 있기 때문에 고맙습니다.
Reference
이 문제에 관하여(Video on Demand on AWS Foundation에 큐 호핑 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kamekichi0527/items/2bf7359cb133721785a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)