一种获取直播视频切片的方法及服务器的制造方法

文档序号:9528083阅读:1863来源:国知局
一种获取直播视频切片的方法及服务器的制造方法
【技术领域】
[0001]本发明涉及直播视频流媒体技术,具体涉及一种获取直播视频切片的方法及服务器。
【背景技术】
[0002]HLS(HTTP Live Streaming)协议为基于超文本传输协议(HTTP, HypertextTransfer Protocol)的动态码流自适应协议,是由苹果公司提出的一种流媒体传输协议。近年来,HLS协议在流媒体领域得到了广泛应用,主要由于其采用HTTP协议传输,可以根据网络带宽自适应地调整码率,如允许网络侧的服务器为同一节目内容存放多个不同码率的多媒体流,而终端可根据实际的网络下载速度自适应地调整所要下载的多媒体流的码率;在网络带宽紧张时,终端可通过降低码率实现不间断的播放。
[0003]相对于其它常见的流媒体直播协议,例如路由选择表维护协议(RTMP,RoutingTable Maintenance Protocol)、实时流传输协议(RTSP, Real Time Streaming Protocol)、微软媒体服务器协议(MMS, Microsoft Media Server Protocol)等,利用HLS协议对视频进行直播,最大的不同在于,终端获取到的多媒体数据并不是一个完整的数据流,而是一个个记录有数据的切片,这是因为:在HLS协议中,服务器端将直播数据流存储为连续的、很短时长的媒体文件(动态图像专家组MPEG-传输流TS格式),这些媒体文件就被称为切片,而客户端只需要不断的下载并播放这些切片,即可形成直播视频。其中,因为服务器端总是会将最新的直播数据生成新切片,客户端只需不停的按顺序播放从服务器获取到的切片,就实现了直播。
[0004]目前可采用以下两种方式生成符合HLS协议的切片:一种方式是在多媒体数据的转码过程中直接生成符合要求的切片;第二种方式是将转码与分片两个过程独立开来,先将直播数据进行转码,再对转码后的文件进行切片;其中,第一种方式要求转码器必须能够支持切片功能,对转码器的设计要求较高,不利于实现;第二种方式由于其将转码、分片独立开来,使得实现较为容易。所以,目前第二种生成切片的方法更受欢迎,但是其也存在以下问题:由于生成的切片长度固定,使得切片边缘可能会存在有不完整数据或者冗余数据,导致切片的直播画面出现较慢且相邻两切片之间的直播画面存在有不连续的情况,降低了用户观看体验。

【发明内容】

[0005]为解决现有存在的技术问题,本发明实施例提供一种获取直播视频切片的方法及服务器,能够解决切片的直播画面出现较慢、相邻两切片之间的直播画面存在有不连续等情况,从而提高直播视频播放流畅性、播放画面质量,提升用户观看体验。
[0006]本发明实施例的技术方案是这样实现的:
[0007]本发明实施例提供了一种获取直播视频切片的方法,所述方法包括:
[0008]获取切片的基准时长;
[0009]确定基准时长与第一预设时长之和为第一时长,和/或确定基准时长与第一预设时长之差为第二时长;
[0010]获取当前原始直播源的第q个关键帧;
[0011]确定第q个关键帧的起始位置为第q个切片的起始位置;
[0012]在第q个关键帧起始位置的第一时长和/或第二时长内,确定为存在有第q+Ι个关键帧时,确定所述第q+Ι个关键帧的起始位置为第q个切片的结束位置;
[0013]在第q帧起始位置及结束位置处,对当前原始直播源进行切分,形成第q个切片;其中,q为正整数。
[0014]上述方案中,所述方法还包括:
[0015]在第q个关键帧起始位置的第一时长和/或第二时长内,确定为没有存在第q+1个关键帧时,将距离第q个关键帧起始位置为基准时长的位置为第q个切片的结束位置,在第q帧起始位置及结束位置处,对当前原始直播源进行切分,形成第q个切片。
[0016]上述方案中,所述获取切片的基准时长,
[0017]包括:
[0018]获取当前原始直播源的关键帧长度;
[0019]获取用于缓存当前原始直播源的视频缓存检验器VBV长度;
[0020]求取关键帧长度、VBV长度及第一预设阈值之和;
[0021]将所求取的和值作为切片的基准时长。
[0022]上述方案中,在获取切片的基准时长之前,所述方法包括:
[0023]接收当前原始直播源;
[0024]转换当前原始直播源为实时传输协议RTP码流,并标识出所述RTP码流的关键帧信息;
[0025]对所述RTP码流进行缓存、排序、解析处理;
[0026]删除经处理后的RTP码流中的RTP包头,形成RTP净载荷数据;
[0027]在所述RTP净载荷数据中,依据关键帧信息,获取第q个关键帧。
[0028]上述方案中,所述方法还包括:
[0029]从当前原始直播源中获取节目关联表PAT和节目映射表PMT,配置PAT和PMT至每个切片的初始位置,以方便切片所承载节目内容的播放;
[0030]当前原始直播源存在有至少两种码率时,配置不同码率的切片所承载的节目内容的长度为相同,以方便不同码率切片的切换。
[0031]本发明实施例还提供了一种服务器,所述服务器包括:
[0032]第一获取单元,用于获取切片的基准时长;
[0033]第一确定单兀,用于确定基准时长与第一预设时长之和为第一时长,和/或确定基准时长与第一预设时长之差为第二时长;
[0034]第二获取单元,用于获取当前原始直播源的第q个关键帧;
[0035]第二确定单元,用于确定第q个关键帧的起始位置为第q个切片的起始位置;
[0036]第三确定单元,用于在第q个关键帧起始位置的第一时长和/或第二时长内,确定为存在有第q+Ι个关键帧时,确定所述第q+Ι个关键帧的起始位置为第q个切片的结束位置;
[0037]第一切分单元,用于在第q帧起始位置及结束位置处,对当前原始直播源进行切分,形成第q个切片;其中,q为正整数。
[0038]上述方案中,
[0039]所述第三确定单元,还用于在第q个关键帧起始位置的第一时长和/或第二时长内,确定为没有存在第q+Ι个关键巾贞时,将距离第q个关键巾贞起始位置为基准时长的位置为第q个切片的结束位置;
[0040]相应的,所述第一切分单元,还用于在第q帧起始位置及结束位置处,对当前原始直播源进行切分,形成第q个切片。
[0041]上述方案中,所述第一获取单元,还用于:
[0042]获取当前原始直播源的关键帧长度;
[0043]获取用于缓存当前原始直播源的视频缓存检验器VBV长度;
[0044]求取关键帧长度、VBV长度及第一预设阈值之和;
[0045]将所求取的和值作为切片的基准时长。
[0046]上述方案中,所述服务器还包括:
[0047]第一接收单元,用于接收当前原始直播源;
[0048]第一转换单元,用于转换当前原始直播源为实时传输协议RTP码流,并标识出所述RTP码流的关键帧信息;
[0049]第一处理单元,用于对所述RTP码流进行缓存、排序、解析处理;
[0050]第一删除单元,用于删除经所述第一处理单元处理后的RTP码流中的RTP包头,形成RTP净载荷数据;
[0051]相应的,
[0052]所述第二获取单元,还用于在所述RTP净载荷数据中,依据关键帧信息,获取第q个关键帧。
[0053]上述方案中,所述服务器还包括:
[0054]第三获取单元、第一配置单元、第四确定单元、第二配置单元;其中,
[0055]所述第三获取单元,用于从当前原始直播源中获取节目关联表PAT和节目映射表PMT ;
[0056]所述第一配置单元,用于配置PAT和PMT至每个切片的初始位置,以方便切片所承载节目内容的播放;
[0057]所述第四确定单元,用于确定出当前原始直播源存在有至少两种码率时,触发所述第二配置单元;
[0058]所述第二配置单元,用于配置不同码率的切片所承载的节目内容的长度为相同,以方便不同码率切片的切换。
[0059]本发明实施例提供的获取直播视频切片的方法及服务器,所述方法包括:获取切片的基准时长;确定基准时长与第一预设时长之和为第一时长,和/或确定基准时长与第一预设时长之差为第二时长;获取当前原始直播源的第q个关键帧;确定第q个关键帧的起始位置为第q个切片的起始位置;在第q个关键帧起始位置的第一时长和/或第二时长内,确定为存在有第q+Ι个关键帧时,确定所述第q+Ι个关键帧的起始位置为第q个切片的结束位置;在第q帧起始位置及结束位置处,对当前原始直播源进行切分,形成第q个切片;其中,q为正整数。利用本发明实施例的技术方案,可保证切片长度在基准时长左右波动,进而能够解决切片的直播画面出现较慢、相邻两切片之间的直播画面存在有不连续等情况,从而可提高直播视频播放流畅性、播放画面质量,提升用户观看体验。
【附图说明】
[0060]图1为本发明实施例提供的获取直播视频切片的方法流程示意图;
[0061]图2为本发明实施例提供的应用场景一示意图;
[0062]图3为本发明实施例提供的获取直播视频切片的方法的一具体实现流程示意图;
[0063]图4为本发明实施例提
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1