本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南。
使用 AWS CLI 的 MediaPackage VOD 示例
以下代码示例演示了如何通过将 AWS Command Line Interface与 MediaPackage VOD 结合使用,来执行操作和实现常见场景。
操作 是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 create-asset
。
- AWS CLI
-
创建资产
以下
create-asset
示例在当前 AWS 账户中创建一个名为Chicken_Asset
的资产。该资产将文件30sec_chicken.smil
采集到 MediaPackage。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
。
-