本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从父清单中移除标签 AWS Elemental MediaPackage
MediaPackage 父级中的信号会显示 HLS 或 CMAF 端点上每种轨道类型的#EXT-X-SESSION-KEY标签。当密钥在多个直播间共享时,此标签使播放设备能够预取密钥。有时候你可能不想要这个可选标签,比如你只使用曲目的子集,不想在父清单中引用所有密钥。使用 SPEKE v2,您可以在清单请求中附加查询参数,该参数将从父清单中移除所有#EXT-X-SESSION-KEY 标签。由于每个子清单都有自己的用于获取解密密钥的#EXT-X-KEY标签,因此通常#EXT-X-SESSION-KEY 是多余的。
要从 MediaPackage 清单响应中移除#EXT-X-SESSION-KEY标签,请使用以下查询参数:aws.drmsettings=excludesessionkeys
下一节提供了有关使用查询参数的更多信息。
查询语法
删除#EXT-X-SESSION-KEY标签的基本查询参数是aws.drmsettings,后面是可选的参数名称和值对。要构造查询,请在 MediaPackage 端点 URL 的末尾追加?aws.drmsettings=参数名称和值。
Apple HLS 筛选条件查询可能如下所示:
https://example-mediapackage-endpoint.mediapackage.us-west-2.amazonaws.com/out/v1/examplemediapackage/index.m3u8?aws.drmsettings=excludesessionkeys
下表列出了查询语法。
注意
如果您使用 Amazon CloudFront 作为 CDN,则可能需要设置其他配置。有关更多信息,请参阅为所有端点配置缓存行为。
| 查询字符串组件 | 描述 |
|---|---|
? |
标记查询开始的受限字符。 |
aws.drmsettings= |
基本查询,后跟由名称和值对构造的参数。 |
: |
用于将参数名称与值关联。例如,。 |
; |
在包含多个参数的查询中分隔参数。例如,。当在同一查询的参数列表中使用时,意味着一项AND操作。 |
错误条件
如果清单或片段包含无效或未知的查询参数,则某些播放设备将返回错误。以下是 MediaPackage 可以处理的查询参数:
-
m -
start -
end -
aws.manifestfilter -
aws.drmsettings
如果您的查询参数不是列出的参数,请使用诸如 Amazon 之类的 CDN CloudFront 来删除不必要的参数。有关更多信息,请参阅 Amazon CloudFront 开发者指南中的基于查询字符串参数缓存内容。
下表包含其他常见错误情况。
| 错误条件 | 示例 | HTTP 状态代码 |
|---|---|---|
| 列表参数未找到且不是约束列表的一部分 | ?aws.manifestfilter=audio_language:dahlia |
200 |
| 流中只存在字幕流 | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
200 |
| 重复的筛选条件参数 | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=audio_sample_rate:0-48000 |
400 |
| 参数无效 | ?aws.manifestfilter=donut_type:rhododendron |
400 |
| 范围参数无效 | ?aws.manifestfilter=audio_sample_rate:300-0 |
400 |
范围值无效(大于 INT_MAX) |
?aws.manifestfilter=audio_sample_rate:0-2147483648 |
400 |
| 查询字符串格式错误 | ?aws.manifestfilter=audio_sample_rate:is:0-44100 |
400 |
| 参数字符串大于 1024 个字符 | ?aws.manifestfilter=audio_language:abcdef.... |
400 |
| HLS 或 CMAF 比特率清单上的查询参数 | index_1.m3u8?aws.manifestfilter=video_codec:h264 |
400 |
| 分段请求上的查询参数 | ..._1.[ts|mp4|vtt..]?aws.manifestfilter=video_codec:h264 |
400 |
| 重复的查询参数 | ?aws.manifestfilter=audio_sample_rate:0-48000;aws.manifestfilter=video_bitrate:0-1 |
400 |
| 应用筛选条件会导致空清单(内容中没有可满足查询字符串中所定义的条件的流) | ?aws.manifestfilter=audio_sample_rate:0-1;video_bitrate=0-1 |
400 |