一种快速开播方法及装置与流程

文档序号:18027967发布日期:2019-06-28 22:20阅读:188来源:国知局
一种快速开播方法及装置与流程

本发明涉及视频直播技术领域,更具体的说,涉及一种快速开播方法及装置。



背景技术:

目前的一对多(一个直播内容发布端,多个播放端)视频直播服务要求视频内容延时低,同时也要求开播等待时间尽量短。

但是目前常见的一对多视频通信rtc(real-timecommunications,实时通讯)实现方式,比如基于浏览器的webrtc端和janus等sfu(selectiveforwardingunit,选择性转发单元)服务方式,为了保障在视频内容低延时的前提下,尽可能的服务更多的播放端,服务端往往直接转发发布端实时上传的已编码完成的视频数据给播放端,由播放端从视频数据中检测出关键帧。由于检测关键帧的过程需要一定的时间,因此导致视频直播的开播等待时间较长。



技术实现要素:

有鉴于此,本发明公开了一种快速开播方法及装置,以通过保存最近的gop的关键帧,并在确定关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,以省去播放端从视频数据中检测关键帧的过程,从而减少视频直播的开播等待时间。

一种快速开播方法,包括:

获取已编码完成且最近的画面组gop;

保存所述gop的时间长度、关键帧以及所述关键帧所在的时间点值,并删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值;

判断在接收到所述gop的下一个gop之前,是否接收到播放端发送的用于请求最近直播视频内容的播放请求;

如果是,则基于所述gop的时间长度和所述关键帧所在的时间点值,判断是否将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端;

如果是,将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。

可选的,还包括:

在接收到所述下一个gop之前,未接收到播放端发送的用于请求最近直播视频内容的播放请求,则删除已保存的所述关键帧。

可选的,还包括:

当基于所述gop的时间长度和所述关键帧所在的时间点值,确定不将所述关键帧作为最近关键帧时,等待获取所述gop的下一个gop,并将所述下一个gop的关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。

可选的,所述基于所述gop的时间长度和所述关键帧所在的时间点值,判断是否将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端,具体包括:

计算最近的预设数量的gop的平均时间长度;

获取请求最近直播视频内容的播放端的请求时间点;

判断所述请求时间点与所述关键帧所在的时间点值的差值是否大于所述平均时间长度的一半,并在判断为否的情况下,将已保存的所述关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

可选的,所述基于所述gop的时间长度和所述关键帧所在的时间点值,判断是否将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端,具体包括:

计算最近的预设数量的gop的平均时间长度;

获取请求最近直播视频内容的播放端的请求时间点;

计算所述请求时间点与所述关键帧所在的时间点值的差值;

判断所述平均时间长度与所述差值的差值是否小于时间阈值,并在判断为否的情况下,将已保存的所述关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

一种快速开播装置,包括:

获取单元,用于获取已编码完成且最近的画面组gop;

保存单元,用于保存所述gop的时间长度、关键帧以及所述关键帧所在的时间点值,并删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值;

第一判断单元,用于判断在接收到所述gop的下一个gop之前,是否接收到播放端发送的用于请求最近直播视频内容的播放请求;

第二判断单元,用于在所述第一判断单元判断为是的情况下,基于所述gop的时间长度和所述关键帧所在的时间点值,判断是否将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端;

第一发送单元,用于在所述第二判断单元判断为是的情况下,将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。

可选的,还包括:

删除单元,用于在所述第一判断单元判断为否的情况下,删除已保存的所述关键帧。

可选的,还包括:

第二发送单元,用于在所述第二判断单元判断为否的情况下,等待获取所述gop的下一个gop,并将所述下一个gop的关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。

可选的,所述第二判断单元具体用于:

计算最近的预设数量的gop的平均时间长度;

获取请求最近直播视频内容的播放端的请求时间点;

判断所述请求时间点与所述关键帧所在的时间点值的差值是否大于所述平均时间长度的一半,并在判断为否的情况下,将已保存的所述关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

可选的,所述第二判断单元具体用于:

计算最近的预设数量的gop的平均时间长度;

获取请求最近直播视频内容的播放端的请求时间点;

计算所述请求时间点与所述关键帧所在的时间点值的差值;

判断所述平均时间长度与所述差值的差值是否小于时间阈值,并在判断为否的情况下,将已保存的所述关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

从上述的技术方案可知,本发明公开了一种快速开播方法及装置,保存最近的gop的时间长度、关键帧以及关键帧所在的时间点值,删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值,当接收到播放端发送的用于请求最近直播视频内容的播放请求后,基于gop的时间长度和关键帧所在的时间点值确定当前保存的关键帧是否为最近关键帧,如果是,则将该关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。相对于现有方案服务端保存发布端上的已编码完成的视频数据而言,本发明保存的是最近的gop的关键帧,并在确定该关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,因此,省去了播放端从视频数据中检测关键帧的过程,从而减少了视频直播的开播等待时间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。

图1为本发明实施例公开的一种一对多视频直播系统结构图;

图2为本发明实施例公开的一种快速开播方法流程图;

图3为本发明实施例公开的一种快速开播装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种快速开播方法及装置,保存最近的gop的时间长度、关键帧以及关键帧所在的时间点值,删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值,当接收到播放端发送的用于请求最近直播视频内容的播放请求后,基于gop的时间长度和关键帧所在的时间点值确定当前保存的关键帧是否为最近关键帧,如果是,则将该关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。相对于现有方案服务端保存发布端上的已编码完成的视频数据而言,本发明保存的是最近的gop的关键帧,并在确定该关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,因此,省去了播放端从视频数据中检测关键帧的过程,从而减少了视频直播的开播等待时间。

并且,本发明无需在屏幕显示黑屏或者等待画面,从而提高了用户体验。

进一步,本发明还有效避免了传统方案中,因服务端向发布端发送关键帧请求而带来的发布端视频编码负载过大,消息和视频内容通讯往返所增加的时间和网络带宽的额外开销。

参见图1,本发明一实施例公开的一种一对多视频直播系统结构图,包括:rtc(real-timecommunications,实时通讯)发布端11、rtc服务端12和多个rtc播放端13,rtc发布端11用于向rtc服务端12发送已编码完成的视频数据,rtc播放端13用于向rtc服务端12请求播放数据,并向用户播放直播内容。

参见图2,本发明一实施例公开的一种快速开播方法流程图,该方法应用于图1中的rtc服务端12,该方法包括步骤:

步骤s101、获取已编码完成且最近的gop;

其中,已编码完成且最近的gop,也即当前时刻最后一个已编码完成且最近的gop。

本实施例中,rtc发布端将已编码完成的视频数据使用rtc实时通讯协议,具体可以是基于udp(userdatagramprotocol,用户数据包协议)传输协议标准的webrtc技术协议栈,传输到rtc服务端。由于rtc是基于udp协议传输方式,udp协议能够快速传输数据报文,再配合应用层的报文数据重组和错误纠正算法,可以充分发挥网络传输能力,并能快速适应网络的拥塞变化,因此,本发明可以降低网络传输延时,保证在网络拥塞情况下,视频数据传输的及时性和完整性。

需要说明的是,一个gop(groupofpictures,画面组)即是一组连续的视频帧。

步骤s102、保存所述gop的时间长度、关键帧以及所述关键帧所在的时间点值,并删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值;

其中,关键帧所在的时间点值也即该关键帧的时间戳。

传统方案中,rtc服务端会保存rtc发布端发送的已编码完成的视频数据,本申请为了保证rtc服务端传输到rtc播放端的数据量尽量小,以及为了缩短rtc播放端的视频内容延时时间,本实施例中,rtc服务端仅保存最近gop的关键帧以及该关键帧所在的时间点值,其中,时间点值可以是rtc服务端的时间。

其中,gop的时间长度为:该gop的关键帧所在的时间点值,与该gop的上一个gop的关键帧(也即步骤s102中的原关键帧)所在的时间点值的差值。

步骤s103、判断在接收到所述gop的下一个gop之前,是否接收到播放端发送的用于请求最近直播视频内容的播放请求,如果是,则执行步骤s104;

需要说明的是,本步骤中的播放端也即图1所示实施例中的rtc播放端13。

本实施例中,播放端使用rtc协议向rtc服务端请求最近直播视频数据内容。

步骤s104、基于所述gop的时间长度和所述关键帧所在的时间点值,判断是否将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端,如果是,则执行步骤s105;

可以理解,播放端向rtc服务端请求的是最近直播视频内容,因此,在确定是否将当前保存的关键帧发送给播放端之前,需要判断当前gop是否已经传输一半以上至rtc服务端,或者说,当前gop的下一个gop传输至rtc服务端的等待时长大于一个时间阈值,从而确定将当前gop的关键帧作为最近关键帧,还是将当前gop的下一个gop的关键帧作为最近关键帧。

在当前gop未传输一半至rtc服务端,或是当前gop的下一个gop传输至rtc服务端的等待时长大于时间阈值,此时,判定已保存的关键帧(也即当前gop的关键帧)为最近关键帧,则将当前gop的关键帧发送给请求最近直播视频内容的播放端。

在当前gop已经传输一半以上至rtc服务端,或者说,当前gop的下一个gop传输至rtc服务端的等待时长不大于时间阈值,此时,判定已保存的关键帧(也即当前gop的关键帧)不为最近关键帧,则将当前gop的下一个gop的关键帧发送给请求最近直播视频内容的播放端。

步骤s105、将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。

播放端按照rtc协议接收最近的关键帧并播放,播放完成后则持续显示上述关键帧的内容,并等待下一个gop的关键帧以及非关键帧。

综上可知,本发明公开的快速开播方法,保存最近的gop的时间长度、关键帧以及关键帧所在的时间点值,删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值,当接收到播放端发送的用于请求最近直播视频内容的播放请求后,基于gop的时间长度和关键帧所在的时间点值确定当前保存的关键帧是否为最近关键帧,如果是,则将该关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。相对于现有方案服务端保存发布端上的已编码完成的视频数据而言,本发明保存的是最近的gop的关键帧,并在确定该关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,因此,省去了播放端从视频数据中检测关键帧的过程,从而减少了视频直播的开播等待时间。

并且,本发明无需在屏幕显示黑屏或者等待画面,从而提高了用户体验。

进一步,本发明还有效避免了传统方案中,因服务端向发布端发送关键帧请求而带来的发布端视频编码负载过大,消息和视频内容通讯往返所增加的时间和网络带宽的额外开销。

为进一步优化上述实施例,在步骤s103判断的为否的情况下,还可以包括步骤:

删除已保存的所述关键帧。

gop的第一帧为关键帧,关键帧以外的为非关键帧。当未接收到播放端的播放请求时,rtc服务端会删除已保存的关键帧。

综上可知,本发明公开的快速开播方法,保存最近的gop的时间长度、关键帧以及关键帧所在的时间点值,删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值,当接收到播放端发送的用于请求最近直播视频内容的播放请求后,基于gop的时间长度和关键帧所在的时间点值确定当前保存的关键帧是否为最近关键帧,如果是,则将该关键帧作为最近关键帧发送给请求最近直播视频内容的播放端,并且,在未接收到播放端发送的播放请求时,删除已保存的关键帧。相对于现有方案服务端保存发布端上的已编码完成的视频数据而言,本发明保存的是最近的gop的关键帧,并在确定关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,因此,省去了播放端从视频数据中检测关键帧的过程,从而减少了视频直播的开播等待时间。

并且,本发明无需在屏幕显示黑屏或者等待画面,从而提高了用户体验。

进一步,本发明还有效避免了传统方案中,因服务端向发布端发送关键帧请求而带来的发布端视频编码负载过大,消息和视频内容通讯往返所增加的时间和网络带宽的额外开销。

为进一步优化上述实施例,在步骤s104判断为否的情况下,还可以包括步骤:

等待获取所述gop的下一个gop,并将所述下一个gop的关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。

综上可知,本发明公开的快速开播方法,保存最近的gop的时间长度、关键帧以及关键帧所在的时间点值,删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值,当接收到播放端发送的用于请求最近直播视频内容的播放请求后,基于gop的时间长度和关键帧所在的时间点值确定当前保存的关键帧是否为最近关键帧,如果是,则将该关键帧作为最近关键帧发送给请求最近直播视频内容的播放端,如果否,则等待获取gop的下一个gop,并将下一个gop的关键帧发送给请求最近直播视频内容的播放端。相对于现有方案服务端保存发布端上的已编码完成的视频数据而言,本发明保存的是最近的gop的关键帧,并在确定关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,因此,省去了播放端从视频数据中检测关键帧的过程,从而减少了视频直播的开播等待时间。

为进一步优化上述实施例,步骤s104基于所述gop的时间长度和所述关键帧所在的时间点值,判断是否将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端的过程,可以包括:

计算最近的预设数量的gop的平均时间长度;

获取请求最近直播视频内容的播放端的请求时间点;

判断所述请求时间点与所述关键帧所在的时间点值的差值是否大于所述平均时间长度的一半;

如果否,则将已保存的所述关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端;

如果是,则等待所述gop的下一个gop的关键帧,并将所述下一个gop的关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

具体的,假设预设数量为3,最近的3个gop的时间长度分别为d1、d2和d3,那么平均时间长度d=(d1+d2+d3)/3;

令请求最近直播视频内容的播放端的请求时间点为r,已保存的关键帧所在的时间点值为t;

当(r-t)≤d/2时,将已保存的关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端;

(r-t)>d/2时,等待gop的下一个gop的关键帧,并将下一个gop的关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

为进一步优化上述实施例,步骤s104基于所述gop的时间长度和所述关键帧所在的时间点值,判断是否将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端的过程,可以包括:

计算最近的预设数量的gop的平均时间长度;

获取请求最近直播视频内容的播放端的请求时间点;

计算所述请求时间点与所述关键帧所在的时间点值的差值;

判断所述平均时间长度与所述差值的差值是否小于时间阈值;

如果否,则将已保存的所述关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端;

如果是,则等待所述gop的下一个gop的关键帧,并将所述下一个gop的关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

具体的,假设预设数量为3,最近的3个gop的时间长度分别为d1、d2和d3,那么平均时间长度d=(d1+d2+d3)/3;

令请求最近直播视频内容的播放端的请求时间点为r,已保存的关键帧所在的时间点值为t;

假设时间阈值为200ms;

当(d-(r-t))≥200ms时,将已保存的关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端;

当(d-(r-t))<200ms时,等待gop的下一个gop的关键帧,并将下一个gop的关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

综上可知,本发明公开的快速开播方法,保存最近的gop的时间长度、关键帧以及关键帧所在的时间点值,删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值,当接收到播放端发送的用于请求最近直播视频内容的播放请求后,基于gop的时间长度和关键帧所在的时间点值确定当前保存的关键帧是否为最近关键帧,如果是,则将该关键帧发送给请求最近直播视频内容的播放端,如果否,则等待获取gop的下一个gop,并将下一个gop的关键帧发送给请求最近直播视频内容的播放端。相对于现有方案服务端保存发布端上的已编码完成的视频数据而言,本发明保存的是最近的gop的关键帧,并在确定关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,因此,省去了播放端从视频数据中检测关键帧的过程,从而减少了视频直播的开播等待时间。

与上述方法实施例相对应,本发明还公开了一种快速开播装置。

参见图3,本发明一实施例公开的一种快速开播装置的结构示意图,该装置应用于图1中的rtc服务端12,该装置包括:

获取单元201,用于获取已编码完成且最近的gop;

本实施例中,rtc发布端将已编码完成的视频数据使用rtc实时通讯协议,具体可以是基于udp(userdatagramprotocol,用户数据包协议)传输协议标准的webrtc技术协议栈,传输到rtc服务端。由于rtc是基于udp协议传输方式,udp协议能够快速传输数据报文,再配合应用层的报文数据重组和错误纠正算法,可以充分发挥网络传输能力,并能快速适应网络的拥塞变化,因此,本发明可以降低网络传输延时,保证在网络拥塞情况下,视频数据传输的及时性和完整性。

保存单元202,用于保存所述gop的时间长度、关键帧以及所述关键帧所在的时间点值,并删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值;

其中,gop的时间长度为:该gop的关键帧所在的时间点值,与该gop的上一个gop的关键帧(也即步骤s102中的原关键帧)所在的时间点值的差值。

第一判断单元203,用于判断在接收到所述gop的下一个gop之前,是否接收到播放端发送的用于请求最近直播视频内容的播放请求;

本实施例中,播放端使用rtc协议向rtc服务端请求最近直播视频数据内容。

第二判断单元204,用于在所述第一判断单元203判断为是的情况下,基于所述gop的时间长度和所述关键帧所在的时间点值,判断是否将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端;

可以理解,播放端向rtc服务端请求的是最近直播视频内容,因此,在确定是否将当前保存的关键帧发送给播放端之前,需要判断当前gop是否已经传输一半以上至rtc服务端,或者说,当前gop的下一个gop传输至rtc服务端的等待时长大于一个时间阈值,从而确定将当前gop的关键帧作为最近关键帧,还是将当前gop的下一个gop的关键帧作为最近关键帧。

在当前gop未传输一半至rtc服务端,或是当前gop的下一个gop传输至rtc服务端的等待时长大于时间阈值,此时,判定已保存的关键帧(也即当前gop的关键帧)为最近关键帧,则将当前gop的关键帧发送给请求最近直播视频内容的播放端。

在当前gop已经传输一半以上至rtc服务端,或者说,当前gop的下一个gop传输至rtc服务端的等待时长不大于时间阈值,此时,判定已保存的关键帧(也即当前gop的关键帧)不为最近关键帧,则将当前gop的下一个gop的关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。

第一发送单元205,用于在所述第二判断单元204判断为是的情况下,将所述关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。

播放端按照rtc协议接收最近的关键帧并播放,播放完成后则持续显示上述关键帧的内容,并等待下一个gop的关键帧以及非关键帧。

综上可知,本发明公开的快速开播装置,保存最近的gop的时间长度、关键帧以及关键帧所在的时间点值,删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值,当接收到播放端发送的用于请求最近直播视频内容的播放请求后,基于gop的时间长度和关键帧所在的时间点值确定当前保存的关键帧是否为最近关键帧,如果是,则将该关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。相对于现有方案服务端保存发布端上的已编码完成的视频数据而言,本发明保存的是最近的gop的关键帧,并在确定该关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,因此,省去了播放端从视频数据中检测关键帧的过程,从而减少了视频直播的开播等待时间。

并且,本发明无需在屏幕显示黑屏或者等待画面,从而提高了用户体验。

进一步,本发明还有效避免了传统方案中,因服务端向发布端发送关键帧请求而带来的发布端视频编码负载过大,消息和视频内容通讯往返所增加的时间和网络带宽的额外开销。

为进一步优化上述实施例,快速开播装置还可以包括:

删除单元,用于在第一判断单元203判断为否的情况下,删除已保存的所述关键帧。

第二发送单元,用于在第二判断单元204判断为否的情况下,等待获取所述gop的下一个gop,并将所述下一个gop的关键帧作为最近关键帧发送给请求最近直播视频内容的播放端。

综上可知,本发明公开的快速开播装置,保存最近的gop的时间长度、关键帧以及关键帧所在的时间点值,删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值,当接收到播放端发送的用于请求最近直播视频内容的播放请求后,基于gop的时间长度和关键帧所在的时间点值确定当前保存的关键帧是否为最近关键帧,如果是,则将该关键帧作为最近关键帧发送给请求最近直播视频内容的播放端,并且,在未接收到播放端发送的播放请求时,删除已保存的关键帧。相对于现有方案服务端保存发布端上的已编码完成的视频数据而言,本发明保存的是最近的gop的关键帧,并在确定关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,因此,省去了播放端从视频数据中检测关键帧的过程,从而减少了视频直播的开播等待时间。

并且,本发明无需在屏幕显示黑屏或者等待画面,从而提高了用户体验。

进一步,本发明还有效避免了传统方案中,因服务端向发布端发送关键帧请求而带来的发布端视频编码负载过大,消息和视频内容通讯往返所增加的时间和网络带宽的额外开销。

为进一步优化上述实施例,第二判断单元204具体可以用于:

计算最近的预设数量的gop的平均时间长度;

获取请求最近直播视频内容的播放端的请求时间点;

判断所述请求时间点与所述关键帧所在的时间点值的差值是否大于所述平均时间长度的一半,并在判断为否的情况下,将已保存的所述关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

另外,第二判断单元204具体还可以用于:

计算最近的预设数量的gop的平均时间长度;

获取请求最近直播视频内容的播放端的请求时间点;

计算所述请求时间点与所述关键帧所在的时间点值的差值;

判断所述平均时间长度与所述差值的差值是否小于时间阈值,并在判断为否的情况下,将已保存的所述关键帧作为最近关键帧,发送给请求最近直播视频内容的播放端。

综上可知,本发明公开的快速开播装置,保存最近的gop的时间长度、关键帧以及关键帧所在的时间点值,删除上一次保存的原关键帧,以及所述原关键帧所在的时间点值,当接收到播放端发送的用于请求最近直播视频内容的播放请求后,基于gop的时间长度和关键帧所在的时间点值确定当前保存的关键帧是否为最近关键帧,如果是,则将该关键帧作为最近关键帧发送给请求最近直播视频内容的播放端,如果否,则等待获取gop的下一个gop,并将下一个gop的关键帧发送给请求最近直播视频内容的播放端。相对于现有方案服务端保存发布端上的已编码完成的视频数据而言,本发明保存的是最近的gop的关键帧,并在确定关键帧为最近关键帧时,将最近关键帧发送给请求最近直播视频内容的播放端,因此,省去了播放端从视频数据中检测关键帧的过程,从而减少了视频直播的开播等待时间。

需要说明的是,装置实施例中各组成部分的具体工作原理,请参见方法实施例对应部分,此处不再赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1