视频码率过滤功能
媒体直播新增支持视频码率过滤功能,即可以根据设置的视频码率范围过滤输出流。
下述为实现方式:
- 在控制台配置参数“最小视频比特率(bit/s)”和“最大视频比特率(bit/s)”来实现,操作详见创建频道
- 通过用户URL请求参数携带码率过滤参数pkg_manifestfilter来实现,参数说明详见表1。
用户URL请求返回的状态码详情,如表2所示。
表1 URL携带的码率过滤参数说明 URL参数
配置参数
说明
pkg_manifestfilter
video_bitrate
视频码率过滤参数,单位:bit/s。
取值范围:0-2147483647,默认包含两端的值。
取值示例:stream.mpd?pkg_manifestfilter=video_bitrate:0-2147483647。
须知:取值范围设置为a-b时,a必须小于b。如果有多个取值范围,最多支持携带5个取值范围,中间用逗号分隔。
表2 状态码说明 状态码
码率过滤参数样例
错误信息
描述
处理措施
200
?pkg_manifestfilter=video_bitrate:0-1
-
正常场景,仅过滤视频
-
400
?pkg_manifestfilter=video_bitrate:0-48000&pkg_manifestfilter=video_bitrate:0-48000
parse bandwidth filter error
码率过滤参数重复
删除重复的码率过滤参数
400
?pkg_manifestfilter=video_bitrate:rhododendron
parse bandwidth filter error
无效参数
请修改为正确的配置
400
?pkg_manifestfilter=video_bitrate:300-0
?pkg_manifestfilter=video_bitrate:300-300
parse bandwidth filter error
参数取值范围无效
取值范围设置为a-b时,a必须小于b
400
?pkg_manifestfilter=video_bitrate:0-2147483648
parse bandwidth filter error
无效范围值(超出最大值)
参数取值不能超出取值范围
400
?pkg_manifestfilter=video_bitrate:is:0-44100
parse bandwidth filter error
查询字符串格式错误
请修改为正确的配置
400
?pkg_manifestfilter=video_bitrate:abcdef....
parse bandwidth filter error
参数字符串超出1024个字符
请修改为正确的配置
400
rate.m3u8?pkg_manifestfilter=video_bitrate:0-48000
parse bandwidth filter error
码率索引请求中的参数需与顶级索引响应中的参数保持一致。播放器不应在码率索引请求中增加pkg_manifestfilter参数。
码率索引请求不应携带pkg_manifestfilter参数。
样例:https://example.com/out/v1/ad06307d7d8b42faba42db50d100aaee/index.m3u8?pkg_manifestfilter=video_bitrate:0-1499999&aaa=bbb
返回的顶级索引内容URL中没有pkg_manifestfilter参数,如下所示:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-STREAM-INF:BANDWIDTH=2753858,AVERAGE-BANDWIDTH=1792323,RESOLUTION=640x480,FRAME-RATE=30.000,CODECS="avc1.4D401E,mp4a.40.2" index_3.m3u8?aaa=bbb #EXT-X-STREAM-INF:BANDWIDTH=1433841,AVERAGE-BANDWIDTH=967305,RESOLUTION=320x240,FRAME-RATE=30.000,CODECS="avc1.4D400D,mp4a.40.2" index_4.m3u8?aaa=bbb
400
1.[ts|m4v|m4a...]?pkg_manifestfilter=video_bitrate:0-48000
parse bandwidth filter error
分片请求中的参数需与索引响应中的参数保持一致。播放器不应在分片请求中增加pkg_manifestfilter参数。
分片请求不应携带pkg_manifestfilter参数。
400
?pkg_manifestfilter=video_bitrate:0-1
parse bandwidth filter error
视频码率过滤结果为空
如果视频码率过滤结果为空,说明参数配置的不对,请修改为正确的配置。
400
?pkg_manifestfilter=video_bitrate:0-10,110-200,300-400,500-600,700-900,1000-2000
parse bandwidth filter error
video_bitrate最多支持配置5个取值范围。
video_bitrate的取值范围不能超过5个。