

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 从父清单中移除标签 AWS Elemental MediaPackage
<a name="drm-query-param"></a>

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`

下一节提供了有关使用查询参数的更多信息。

## 查询语法
<a name="drm-params-syntax"></a>

删除`#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，则可能需要设置其他配置。有关更多信息，请参阅[为所有端点配置缓存行为](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/live-streaming.html#live-streaming-with-mediapackage-create-cache-behavior)。


| 查询字符串组件 | 说明 | 
| --- | --- | 
| ? | 标记查询开始的受限字符。 | 
| aws.drmsettings= | 基本查询，后跟由名称和值对构造的参数。 | 
| : | 用于将参数名称与值关联。例如 parameter\$1name:value。 | 
| ; | 在包含多个参数的查询中分隔参数。例如 parameter1\$1name:value;parameter2\$1name:minValue-maxValue。当在同一查询的参数列表中使用时，意味着一项AND操作。 | 

## 错误条件
<a name="error-conditions-and-handling-drm"></a>

如果清单或片段包含无效或未知的查询参数，则某些播放设备将返回错误。以下是 MediaPackage 可以处理的查询参数：
+ `m`
+ `start`
+ `end`
+ `aws.manifestfilter`
+ `aws.drmsettings`

如果您的查询参数不是列出的参数，请使用诸如 Amazon 之类的 CDN CloudFront 来删除不必要的参数。有关更多信息，请参阅 *Amazon CloudFront 开发者指南*中的[基于查询字符串参数缓存内容](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html)。

下表包含其他常见错误情况。


****  

| 错误条件 | 示例 | HTTP 状态代码 | 
| --- | --- | --- | 
| 列表参数未找到且不是约束列表的一部分 | ?aws.manifestfilter=audio\$1language:dahlia | 200 | 
| 流中只存在字幕流 | ?aws.manifestfilter=audio\$1sample\$1rate:0-1;video\$1bitrate=0-1 | 200 | 
| 重复的筛选条件参数 | ?aws.manifestfilter=audio\$1sample\$1rate:0-48000;aws.manifestfilter=audio\$1sample\$1rate:0-48000 | 400 | 
| 参数无效 | ?aws.manifestfilter=donut\$1type:rhododendron | 400 | 
| 范围参数无效 | ?aws.manifestfilter=audio\$1sample\$1rate:300-0 | 400 | 
| 范围值无效（大于 INT\$1MAX） | ?aws.manifestfilter=audio\$1sample\$1rate:0-2147483648 | 400 | 
| 查询字符串格式错误 | ?aws.manifestfilter=audio\$1sample\$1rate:is:0-44100 | 400 | 
| 参数字符串大于 1024 个字符 | ?aws.manifestfilter=audio\$1language:abcdef.... | 400 | 
| HLS 或 CMAF 比特率清单上的查询参数 | index\$11.m3u8?aws.manifestfilter=video\$1codec:h264 | 400 | 
| 分段请求上的查询参数 | ...\$11.[ts\$1mp4\$1vtt..]?aws.manifestfilter=video\$1codec:h264 | 400 | 
| 重复的查询参数 | ?aws.manifestfilter=audio\$1sample\$1rate:0-48000;aws.manifestfilter=video\$1bitrate:0-1 | 400 | 
| 应用筛选条件会导致空清单（内容中没有可满足查询字符串中所定义的条件的流） | ?aws.manifestfilter=audio\$1sample\$1rate:0-1;video\$1bitrate=0-1 | 400 | 