基于转码器hls协议固定码率参数的方法
技术领域
1.本发明涉及视频服务技术领域,具体涉及一种基于转码器hls协议固定码率参数的方法。
背景技术:
2.随着终端机顶盒、高清电视不断升级,用户家用带宽不断增加。用户对于电视节目清晰度的要求越来越高。对于iptv而言,为满足用户需求,频道的高清化改造、视频码率提升成为了一项常态化的工作。但是由于目前iptv的运作模式是以省级广播电视台作为播控平台,运营商作为传输单位,两方合作建立了高效、合理的平台架构以及接口规范。因此看似简单的一个码率提升操作,却涉及了两方大量的操作,不仅要消耗大量的人力,还会引起频道大规模的断流,影响用户体验。
3.比如,目前某省iptv的单播流根据双方商定的接口规范,包含两级m3u8,其中:
4.一级m3u8的请求格式为:
5.http://xx.xx.xx.xx:port/00/sdm/channel00000029/index.m3u8;
6.二级m3u8的请求格式为:
7.http://xx.xx.xx.xx:port/2/00/channel00000029/930400/1.m3u8;
8.其中:00为cmsid,sd为providerid,2为直播,channel00000029为频道id,9340800为码率。
9.因为一个直播频道可能包含多个码率,因此一级m3u8中可能包含多个二级m3u8请求。二级m3u8中的码率是根据直播流中视频的实际码率改变的。而运营商在拉流的时候为提高拉流效率,直接跳过一级m3u8直接拉取二级m3u8。在视频码率不改变的情况下,这种方式确实是高效可行的。但是一旦直播视频码率发生改变,实际的二级m3u8地址就会发生改变。而运营商手动配置的二级m3u8请求地址不会随之改变,导致直播流中断。
10.因此,每当遇到频道提升码率的情况,下游拉流的运营商需要将之前的频道删除,重新配置新生成的二级m3u8拉流地址,然后通过省中心平台再向其市平台、区/县平台逐级下发,导致工作量巨大,且造成长时间的直播频道断流,影响用户体验。
技术实现要素:
11.为克服所述不足,本发明的目的在于提供一种基于转码器hls协议固定码率参数的方法。
12.本发明解决其技术问题所采用的技术方案是:一种基于转码器hls协议固定码率参数的方法,包括:
13.s1、转码器接收到信源的视频流后首先进行音视频的解码工作,目的是将已封装好udp流进行解码;
14.s2、进行音视频的编码工作,定义视频流的码率、分辨率、宽高比、帧率、编码格式等一系列参数;
15.s3、对编码后的视频进行封装;
16.s4、封装后的播放url为一级m3u8文件;
17.s5、解析一级m3u8文件后,会获得二级m3u8文件;
18.s6、二级m3u8文件与转码器进行编码时,需要确定是否锁定二级m3u8的拉流地址,如果锁定则在转码器中添加多列表名模式,即取消宏的批量处理,选择手动填写url地址,如果不锁定则在转码器中选用单列表名,通过转码器的宏进行批量处理自动填写url地址;
19.s7、转码后的m3u8文件及ts切片会缓存在ramdisk缓存服务系统中;
20.s8、ramdisk缓存服务系统通过注入,将ts文件注入到cdn内容分发系统中,运营商向cdn发出拉流请求,url为二级m3u8地址。
21.本发明具有以下有益效果:本技术中采用的方法,在保持高效拉流放案的同时,解决了直播频道提升码率操作工作量大的问题,大大降低人力成本的投入;解决了现有技术中在执行直播频道提升码率操作,单个频道断流时间大概约为30分钟的问题,利用该方法可以大大降低断流时长,甚至用户没有感知,大大提升用户体验。
附图说明
22.图1为本技术的流程图。
23.图2为选用单列表名模式时的界面示意图。
24.图3为选用多列表名模式时的界面示意图。
具体实施方式
25.现在结合附图对本发明作进一步详细的说明。
26.根据图1-3所示的一种基于转码器hls协议固定码率参数的方法,包括:
27.s1、转码器接收到信源的视频流后首先进行音视频的解码工作,目的是将已封装好udp流进行解码;
28.s2、转码器进行音视频的编码工作,定义视频流的码率、分辨率、宽高比、帧率、编码格式等一系列参数;
29.s3、对编码后的视频进行封装,针对于单播流,一般采用hls协议进行封装,hls(http live streaming)是apple的动态码率自适应技术,主要用于pc和apple终端的音视频服务,包括一个m3u(8)的索引文件,ts媒体分片文件和key加密串文件,利用hls协议的将视频进行ts切片,利用机顶盒进行适当的缓存,以少量的延时播放换取播出的稳定性,可以很好的应对因网络波动造成的直播卡顿或花屏;
30.s4、封装后的播放url为一级m3u8文件,格式为:
31.http://xx.xx.xx.xx:port/00/sdm/channel00000029/index.m3u8;
32.s5、解析一级m3u8文件后,会获得二级m3u8文件,格式为
33.http://xx.xx.xx.xx:port/2/00/channel00000029/930400/1.m3u8;
34.s6、二级m3u8文件中的930400与转码器进行编码时,设定的码率有直接关系,当音频或视频码率改变时,该参数也会随之变化,因此在转码时需要确定是否锁定二级m3u8的拉流地址,如果锁定则在转码器中添加多列表名模式,即取消宏的批量处理,选择手动填写url地址,如果不锁定则在转码器中选用单列表名,通过转码器的宏进行批量处理自动填写
url地址;
35.s7、转码后的m3u8文件及ts切片会缓存在ramdisk缓存服务系统中;
36.s8、ramdisk缓存服务系统通过注入,将ts文件注入到cdn内容分发系统中,运营商向cdn发出拉流请求,url为二级m3u8地址:
37.http://xx.xx.xx.xx:port/2/00/channel00000029/930400/1.m3u8。
38.其原理为:由于现有技术中url地址中的字段是通过转码器的宏进行批量处理自动填写,因此当对channel00000029这个频道进行音视频码率提升的操作时,一级m3u8的url地址不变,二级m3u8的url地址会发生改变,可能会变成:
39.http://xx.xx.xx.xx:port/2/00/channel00000029/2540800/1.m3u8;
40.所以本技术在转码器中添加多列表名模式,即取消宏的批量处理,选择手动填写url地址,因此在执行提升码率的操作时,可以选择多列表名模式,保证url地址不改变,这样,运营商为提高拉流效率,未配置一级m3u8的url地址时,虽然没有解析一级m3u8的过程,但是由于在转码器中选择了多列表名模式,在音视频的码率改变时,不会更新二级m3u8,因此运营商仍然可以正常的获取到直播流。
41.如图2所示,当选用单列表名模式时,通过转码器内置的算法公式,代入音视频码率等参数自动计算带宽参数,解析一级m3u8后,生成的二级m3u8地址,其中5840800为自动计算生成的带宽参数,播放地址由系统根据生成的m3u8文件(hls_channel00000315_0_5840800.m3u8)自动补全。
42.#extm3u
43.#ext-x-version:3
44.#ext-x-stream-inf:program-id=1,bandwidth=5840800,resolution=1920x1080,codecs="avc1.64001e,mp4a.40.2"
45.hls_channel00000315_0_5840800.m3u8。
46.如图3所示,当选用多列表名模式时,可以通过手动方式填写m3u8列表名,解析一级m3u8后,生成的二级m3u8地址,m3u8文件(hls_channel00000315_0_5840800.m3u8)已经改为手动填写的样式。
47.#extm3u
48.#ext-x-version:3
49.#ext-x-stream-inf:program-id=1,bandwidth=2540800,resolution=1920x1080,codecs="avc1.64001e,mp4a.40.2"
50.hls_channel00000315_0_2540800.m3u8。
51.本发明不局限于所述实施方式,任何人应得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
52.本发明未详细描述的技术、形状、构造部分均为公知技术。
技术特征:
1.一种基于转码器hls协议固定码率参数的方法,其特征在于:包括:s1、转码器接收到信源的视频流后首先进行音视频的解码工作;s2、进行音视频的编码工作;s3、对编码后的视频进行封装;s4、封装后的播放url为一级m3u8文件;s5、解析一级m3u8文件后,会获得二级m3u8文件;s6、二级m3u8文件与转码器进行编码时,需要确定是否锁定二级m3u8的拉流地址,如果锁定则在转码器中添加多列表名模式,即取消宏的批量处理,选择手动填写url地址,如果不锁定则在转码器中选用单列表名,通过转码器的宏进行批量处理自动填写url地址;s7、转码后的m3u8文件及ts切片会缓存在ramdisk缓存服务系统中;s8、ramdisk缓存服务系统通过注入,将ts文件注入到cdn内容分发系统中,运营商向cdn发出拉流请求,url为二级m3u8地址。2.根据权利要求1所述的一种基于转码器hls协议固定码率参数的方法,其特征在于:所述编码工作中定义视频流的码率、分辨率、宽高比、帧率、编码格式系列参数。
技术总结
本发明涉及一种基于转码器HLS协议固定码率参数的方法,包括:转码器接收到信源的视频流后首先进行音视频的解码工作、编码、封装工作;封装后的播放url为一级M3U8文件;解析一级m3u8文件后,会获得二级M3U8文件;二级M3U8文件与转码器进行编码时,需要确定是否锁定二级M3U8的拉流地址,如果锁定则在转码器中添加多列表名模式,即取消宏的批量处理,选择手动填写url地址,如果不锁定则在转码器中选用单列表名,通过转码器的宏进行批量处理自动填写url地址。本申请中采用的方法,在保持高效拉流放案的同时,解决了直播频道提升码率操作工作量大的问题,大大降低人力成本的投入,利用该方法可以大大降低断流时长,甚至用户没有感知,大大提升用户体验。大大提升用户体验。
技术研发人员:程亚辉 董丽莎 王宗杨 张晓刚 许强
受保护的技术使用者:海看网络科技(山东)股份有限公司
技术研发日:2021.12.20
技术公布日:2022/3/8