AWS CLI를 사용한 MediaPackage VOD 예시
다음 코드 예시는 MediaPackage VOD와 함께 AWS Command Line Interface를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.
각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.
주제
작업
다음 코드 예시에서는 create-asset
의 사용 방법을 보여줍니다.
- AWS CLI
-
애셋 생성
다음
create-asset
예시에서는 현재 AWS 계정에서Chicken_Asset
이라는 애셋을 생성합니다. 애셋은 MediaPackage로 파일30sec_chicken.smil
을 수집합니다.aws mediapackage-vod create-asset \ --id
chicken_asset
\ --packaging-group-idhls_chicken_gp
\ --source-role-arnarn:aws:iam::111122223333:role/EMP_Vod
\ --source-arnarn:aws:s3::111122223333:video-bucket/A/30sec_chicken.smil
출력:
{ "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:assets/chicken_asset", "Id":"chicken_asset", "PackagingGroupId":"hls_chicken_gp", "SourceArn":"arn:aws:s3::111122223333:video-bucket/A/30sec_chicken.smil", "SourceRoleArn":"arn:aws:iam::111122223333:role/EMP_Vod", "EgressEndpoints":[ { "PackagingConfigurationId":"New_config_1", "Url":"https://c75ea2668ab49d02bca7ae10ef31c59e.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/6644b55df1744261ab3732a8e5cdaf07/904b06a58c7645e08d57d40d064216ac/f5b2e633ff4942228095d164c10074f3/index.m3u8" }, { "PackagingConfigurationId":"new_hls", "Url":" https://c75ea2668ab49d02bca7ae10ef31c59e.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/6644b55df1744261ab3732a8e5cdaf07/fe8f1f00a80e424cb4f8da4095835e9e/7370ec57432343af816332356d2bd5c6/string.m3u8" } ] }
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 애셋 수집을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreateAsset
을 참조하세요.
-
다음 코드 예시에서는 create-packaging-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
패키징 구성 생성
다음
create-packaging-configuration
예시에서는hls_chicken
이라는 패키징 그룹에new_hls
라는 패키징 구성을 생성합니다. 이 예시에서는hls_pc.json
이라는 디스크의 파일을 사용하여 세부 정보를 제공합니다.aws mediapackage-vod create-packaging-configuration \ --id
new_hls
\ --packaging-group-idhls_chicken
\ --hls-packagefile://hls_pc.json
hls_pc.json
의 콘텐츠:{ "HlsManifests":[ { "AdMarkers":"NONE", "IncludeIframeOnlyStream":false, "ManifestName":"string", "ProgramDateTimeIntervalSeconds":60, "RepeatExtXKey":true, "StreamSelection":{ "MaxVideoBitsPerSecond":1000, "MinVideoBitsPerSecond":0, "StreamOrder":"ORIGINAL" } } ], "SegmentDurationSeconds":6, "UseAudioRenditionGroup":false }
출력:
{ "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/new_hls", "Id":"new_hls", "PackagingGroupId":"hls_chicken", "HlsManifests":{ "SegmentDurationSeconds":6, "UseAudioRenditionGroup":false, "HlsMarkers":[ { "AdMarkers":"NONE", "IncludeIframeOnlyStream":false, "ManifestName":"string", "ProgramDateTimeIntervalSeconds":60, "RepeatExtXKey":true, "StreamSelection":{ "MaxVideoBitsPerSecond":1000, "MinVideoBitsPerSecond":0, "StreamOrder":"ORIGINAL" } } ] } }
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 패키징 구성 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreatePackagingConfiguration
을 참조하세요.
-
다음 코드 예시에서는 create-packaging-group
의 사용 방법을 보여줍니다.
- AWS CLI
-
패키징 그룹 생성
다음
create-packaging-group
예시에서는 현재 AWS 계정에 구성된 모든 패키징 그룹을 나열합니다.aws mediapackage-vod create-packaging-group \ --id
hls_chicken
출력:
{ "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/hls_chicken", "Id": "hls_chicken" }
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 패키징 그룹 생성을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 CreatePackagingGroup
을 참조하세요.
-
다음 코드 예시에서는 delete-asset
의 사용 방법을 보여줍니다.
- AWS CLI
-
애셋 삭제
다음
delete-asset
예시에서는30sec_chicken
이라는 애셋을 삭제합니다.aws mediapackage-vod delete-asset \ --id
30sec_chicken
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 애셋 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteAsset
을 참조하세요.
-
다음 코드 예시에서는 delete-packaging-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
패키징 구성 삭제
다음
delete-packaging-configuration
예시에서는CMAF
이라는 패키징 구성을 삭제합니다.aws mediapackage-vod delete-packaging-configuration \ --id
CMAF
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 패키징 구성 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeletePackagingConfiguration
을 참조하세요.
-
다음 코드 예시에서는 delete-packaging-group
의 사용 방법을 보여줍니다.
- AWS CLI
-
패키징 그룹 삭제
다음
delete-packaging-group
예시에서는Dash_widevine
이라는 패키징 그룹을 삭제합니다.aws mediapackage-vod delete-packaging-group \ --id
Dash_widevine
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 패키징 그룹 삭제를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DeletePackagingGroup
을 참조하세요.
-
다음 코드 예시에서는 describe-asset
의 사용 방법을 보여줍니다.
- AWS CLI
-
애셋 설명
다음
describe-asset
예시에서는30sec_chicken
이라는 애셋의 모든 세부 정보를 표시합니다.aws mediapackage-vod describe-asset \ --id
30sec_chicken
출력:
{ "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:assets/30sec_chicken", "Id":"30sec_chicken", "PackagingGroupId":"Packaging_group_1", "SourceArn":"arn:aws:s3::111122223333:video-bucket/A/30sec_chicken.smil", "SourceRoleArn":"arn:aws:iam::111122223333:role/EMP_Vod", "EgressEndpoints":[ { "PackagingConfigurationId":"DASH", "Url":"https://a5f46a44118ba3e3724ef39ef532e701.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/aad7962c569946119c2d5a691be5663c/66c25aff456d463aae0855172b3beb27/4ddfda6da17c4c279a1b8401cba31892/index.mpd" }, { "PackagingConfigurationId":"HLS", "Url":"https://a5f46a44118ba3e3724ef39ef532e701.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/aad7962c569946119c2d5a691be5663c/6e5bf286a3414254a2bf0d22ae148d7e/06b5875b4d004c3cbdc4da2dc4d14638/index.m3u8" }, { "PackagingConfigurationId":"CMAF", "Url":"https://a5f46a44118ba3e3724ef39ef532e701.egress.mediapackage-vod.us-west-2.amazonaws.com/out/v1/aad7962c569946119c2d5a691be5663c/628fb5d8d89e4702958b020af27fde0e/05eb062214064238ad6330a443aff7f7/index.m3u8" } ] }
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 애셋 세부 정보 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeAsset
을 참조하세요.
-
다음 코드 예시에서는 describe-packaging-configuration
의 사용 방법을 보여줍니다.
- AWS CLI
-
패키징 구성 설명
다음
describe-packaging-configuration
예시에서는DASH
라는 패키징 구성의 모든 세부 정보를 표시합니다.aws mediapackage-vod describe-packaging-configuration \ --id
DASH
출력:
{ "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/DASH", "Id":"DASH", "PackagingGroupId":"Packaging_group_1", "DashPackage":[ { "SegmentDurationSeconds":"2" }, { "DashManifests":{ "ManifestName":"index", "MinBufferTimeSeconds":"30", "Profile":"NONE" } } ] }
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 패키징 구성 세부 정보 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribePackagingConfiguration
을 참조하세요.
-
다음 코드 예시에서는 describe-packaging-group
의 사용 방법을 보여줍니다.
- AWS CLI
-
패키징 그룹 설명
다음
describe-packaging-group
예시에서는Packaging_group_1
이라는 패키징 그룹의 모든 세부 정보를 표시합니다.aws mediapackage-vod describe-packaging-group \ --id
Packaging_group_1
출력:
{ "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/Packaging_group_1", "Id": "Packaging_group_1" }
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 패키징 그룹 세부 정보 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribePackagingGroup
을 참조하세요.
-
다음 코드 예시에서는 list-assets
의 사용 방법을 보여줍니다.
- AWS CLI
-
모든 애셋 나열
다음
list-assets
예시에서는 현재 AWS 계정에 구성된 모든 애셋을 나열합니다.aws mediapackage-vod list-assets
출력:
{ "Assets": [ "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:assets/30sec_chicken", "Id": "30sec_chicken", "PackagingGroupId": "Packaging_group_1", "SourceArn": "arn:aws:s3::111122223333:video-bucket/A/30sec_chicken.smil", "SourceRoleArn": "arn:aws:iam::111122223333:role/EMP_Vod" ] }
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 애셋 세부 정보 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListAssets
를 참조하세요.
-
다음 코드 예시에서는 list-packaging-configurations
의 사용 방법을 보여줍니다.
- AWS CLI
-
모든 패키징 구성 나열
다음
list-packaging-configurations
예시에서는Packaging_group_1
이라는 패키징 그룹에 구성된 모든 패키징 구성을 나열합니다.aws mediapackage-vod list-packaging-configurations \ --packaging-group-id
Packaging_group_1
출력:
{ "PackagingConfigurations":[ { "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/CMAF", "Id":"CMAF", "PackagingGroupId":"Packaging_group_1", "CmafPackage":[ { "SegmentDurationSeconds":"2" }, { "HlsManifests":{ "AdMarkers":"NONE", "RepeatExtXKey":"False", "ManifestName":"index", "ProgramDateTimeIntervalSeconds":"0", "IncludeIframeOnlyStream":"False" } } ] }, { "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/DASH", "Id":"DASH", "PackagingGroupId":"Packaging_group_1", "DashPackage":[ { "SegmentDurationSeconds":"2" }, { "DashManifests":{ "ManifestName":"index", "MinBufferTimeSeconds":"30", "Profile":"NONE" } } ] }, { "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/HLS", "Id":"HLS", "PackagingGroupId":"Packaging_group_1", "HlsPackage":[ { "SegmentDurationSeconds":"6", "UseAudioRenditionGroup":"False" }, { "HlsManifests":{ "AdMarkers":"NONE", "RepeatExtXKey":"False", "ManifestName":"index", "ProgramDateTimeIntervalSeconds":"0", "IncludeIframeOnlyStream":"False" } } ] }, { "Arn":"arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-configurations/New_config_0_copy", "Id":"New_config_0_copy", "PackagingGroupId":"Packaging_group_1", "HlsPackage":[ { "SegmentDurationSeconds":"6", "UseAudioRenditionGroup":"False" }, { "Encryption":{ "EncryptionMethod":"AWS_128", "SpekeKeyProvider":{ "RoleArn":"arn:aws:iam:111122223333::role/SPEKERole", "Url":"https://lfgubdvs97.execute-api.us-west-2.amazonaws.com/EkeStage/copyProtection/", "SystemIds":[ "81376844-f976-481e-a84e-cc25d39b0b33" ] } } }, { "HlsManifests":{ "AdMarkers":"NONE", "RepeatExtXKey":"False", "ManifestName":"index", "ProgramDateTimeIntervalSeconds":"0", "IncludeIframeOnlyStream":"False" } } ] } ] }
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 패키징 구성 세부 정보 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListPackagingConfigurations
를 참조하세요.
-
다음 코드 예시에서는 list-packaging-groups
의 사용 방법을 보여줍니다.
- AWS CLI
-
모든 패키징 그룹 나열
다음
list-packaging-groups
예시에서는 현재 AWS 계정에 구성된 모든 패키징 그룹을 나열합니다.aws mediapackage-vod list-packaging-groups
출력:
{ "PackagingGroups": [ { "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/Dash_widevine", "Id": "Dash_widevine" }, { "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/Encrypted_HLS", "Id": "Encrypted_HLS" }, { "Arn": "arn:aws:mediapackage-vod:us-west-2:111122223333:packaging-groups/Packaging_group_1", "Id": "Packaging_group_1" } ] }
자세한 내용은 AWS Elemental MediaPackage 사용자 안내서의 패키징 그룹 세부 정보 보기를 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 ListPackagingGroups
를 참조하세요.
-