使用 AWS CLI 的 MediaPackage VOD 示例 - AWS Command Line Interface

本文档仅适用于 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-id hls_chicken_gp \ --source-role-arn arn:aws:iam::111122223333:role/EMP_Vod \ --source-arn arn: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-id hls_chicken \ --hls-package file://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 用户指南》中的创建打包配置

以下代码示例演示了如何使用 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 用户指南》中的创建打包组

以下代码示例演示了如何使用 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 用户指南》中的删除打包配置

以下代码示例演示了如何使用 delete-packaging-group

AWS CLI

删除打包组

以下 delete-packaging-group 示例删除名为 Dash_widevine 的打包组。

aws mediapackage-vod delete-packaging-group \ --id Dash_widevine

此命令不生成任何输出。

有关更多信息,请参阅《AWS Elemental MediaPackage 用户指南》中的删除打包组

以下代码示例演示了如何使用 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 用户指南》中的查看打包配置详细信息

以下代码示例演示了如何使用 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 用户指南》中的查看打包组详细信息

以下代码示例演示了如何使用 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 用户指南》中的查看打包配置详细信息

以下代码示例演示了如何使用 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 用户指南》中的查看打包组详细信息