一种稳健的多视频捆绑直播系统及其方法与流程

文档序号:16404107发布日期:2018-12-25 20:18阅读:1195来源:国知局
一种稳健的多视频捆绑直播系统及其方法与流程

本发明涉及一种直播系统及其方法,特别是一种稳健的多视频捆绑直播系统及其方法。

背景技术

网络直播系统现在在各种细分领域得到越来越多的应用,直播已经从最初的直播间走到了利用移动网络通过手机进行户外直播的阶段,随之带来的问题包括:

1、直播时需要把镜头不停的在主播和访谈观众间切换,造成观看用户强烈不舒适感的问题,

2、由于移动网络带宽的不稳定造成移动直播遭遇卡顿,断线等非常影响用户体验的问题。

3、移动直播用于社交网络时,经常会有一个用户主播,另一个用户异地进行辅助直播或者进行直播评论这种多个直播捆绑的应用需求,这种情况下,如何方便的让用户平滑的在多个直播信号间任意切换而不影响观看流畅度,是一个问题。

针对问题1,专利申请201510814326.2提出了一种直播方法和系统,这个专利申请解决的是直播镜头来回在主播和访谈观众间切换造成的不舒适感问题,发明者把来自两个或多个直播镜头的信号合并成一个多视角的直播信号,然后分发给观众,让观众的视角不用在主播和访谈观众间来回切换。这个专利强调直播镜头来自同一个机器或手机,从而避免了时钟同步的问题,同时这个专利中的服务器实际上需要完成把多个直播信号合并成一个多视角的直播信号的工作,也就是要完成先解码多个视频直播信号然后进行视频合成,最后编码输出的工作。

然而对于问题2和3现有技术仍然没有很好的解决方案。



技术实现要素:

本发明所要解决的技术问题是提供一种稳健的多视频捆绑直播系统及其方法,其解决了移动网络不稳定情况下的直播稳定性问题和多个直播捆绑的问题。

为解决上述技术问题,本发明所采用的技术方案是:

一种稳健的多视频捆绑直播系统,其特征在于:包含直播服务系统、主播终端、若干辅播终端和观众终端,主播终端和若干辅播终端发送直播视频至直播服务系统,直播服务系统将视频分发至各观众终端,直播服务系统包含直播同步模块和直播捆绑模块,直播同步模块持续向主播终端和辅播终端提供直播同步的时钟和关键帧强制编码信号以及关键帧时间戳,主播终端和辅播终端接收到同步信号后,按照要求产生码流并在指定的时间点进行关键帧编码并打上给定的时间戳,主播终端和辅播终端上传的码流可以在关键帧片段层面上互换;直播捆绑模块把多个流进行捆绑,并把捆绑后的直播描述文件下发给观众终端,观众终端在直播描述文件中选择观看捆绑的直播流中的部分视频流或全部视频流。

进一步地,当主播终端和辅播终端的地点和场景相同时,主播终端和辅播终端使用不同的网络运营商提供的网络,减小网络同时拥塞的概率。

进一步地,所述同步信号包含关键帧时间戳、片段编号、片段时间长度、音视频编码参数和当前时间。

进一步地,所述直播描述文件格式为m3u8文件格式或mpd文件格式。

进一步地,当某个流因为上传带宽不足而不能及时到达直播捆绑模块时,直播捆绑模块用辅播上传的流来填充主播流中出现的空洞。

进一步地,把多个主播和辅播的流的描述都写进直播描述文件,观众终端在客户端任意选择自己想要播放的流;辅播终端可以在任意时间点切入,或者不同人可以同时切入形成多个辅播,这些辅播可以在任意时间点切出,直播捆绑模块按照特定的逻辑实现多视角直播。

进一步地,当主播和辅播分别在不同运营商网络但硬件合二为一时,此时采用同一个摄像头编出来的流,通过不同网络上传传输。

一种稳健的多视频捆绑直播方法,其特征在于包含以下步骤:

步骤一:主播在主播终端向同步直播模块发出请求,产生直播同步信息;

步骤二:直播同步模块发出直播同步信息,主播终端接收该直播同步信息;

步骤三:主播终端收到直播同步信息后,按指定参数编码把编码片段的第一个关键帧打上直播同步信息给定的时间戳,然后向直播捆绑模块持续上传编好的直播流;

步骤四:辅播在主播开始后的任意时间点上发出捆绑直播请求,辅播终端播服务系统发出要求捆绑直播的要求,直播同步模块根据要捆绑直播的直播号向辅播终端发出直播同步信息,该直播同步信息和主播接收的直播同步信息完全一致;

步骤五:辅播在收到直播同步信息后,按要求产生直播流,并上传到直播捆绑模块,直播捆绑模块把多个流进行捆绑,并把捆绑后的直播描述文件下发给观众终端,观众在直播描述文件中选择观看捆绑的直播流中的部分视频流或全部视频流。

本发明与现有技术相比,具有以下优点和效果:本发明在服务端不需要进行直播信号的转码,而是只是进行视频码流的切片和分析工作,不需要解码,也不需要编码,计算量低对系统要求不高,同时解决了移动网络不稳定情况下的直播稳定性问题以及解决了多个直播捆绑的问题。

附图说明

图1是本发明的一种稳健的多视频捆绑直播系统的示意图。

图2是本发明的实施例的直播同步模块原理示意图。

具体实施方式

下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。

如图1所示,本发明的一种稳健的多视频捆绑直播系统,包含直播服务系统、主播终端、若干辅播终端和观众终端,主播终端和若干辅播终端发送直播视频至直播服务系统,直播服务系统将视频分发至各观众终端。

直播服务系统包含直播同步模块和直播捆绑模块,直播同步模块持续向主播终端和辅播终端提供直播同步的时钟和关键帧强制编码信号以及关键帧时间戳,主播终端和辅播终端接收到同步信号后,按照要求产生码流并在指定的时间点进行关键帧编码并打上给定的时间戳,主播终端和辅播终端上传的码流可以在关键帧片段层面上互换,用户无感知。具体地如图2所示,时间轴上的垂直线就是直播同步模块发出的直播同步信息,直播同步信息包括关键帧时间戳,片段编号,片段时间长度,音视频编码参数,当前时间。

直播捆绑模块把多个流进行捆绑,并把捆绑后的直播描述文件下发给观众终端,观众终端在直播描述文件中选择观看捆绑的直播流中的部分视频流或全部视频流。

当主播终端和辅播终端的地点和场景相同时,为了保持稳健性,可以使用不同的网络运营商提供的网络,这样由于两个运营商的基站信号不同,基站拥塞情况不同,两个网络同时拥塞的概率显著变小,因此二者分别上传到直播服务器的音视频数据流都拥塞的概率显著变小,从而使上行数据的稳定性显著变好。当主播和辅播异地时,直播捆绑更多的是社交应用场景,此时不一定要用不同的移动网络运营商的网络来做视频上传。这种情况下,捆绑直播需要解决的是数据流如何同步的问题。同步信号包含关键帧时间戳、片段编号、片段时间长度、音视频编码参数和当前时间。直播描述文件的格式本发明不做任何约束,可以是苹果公司使用的m3u8文件格式,也可以是mpeg-dash使用的mpd文件格式。

当某个流因为上传带宽不足而不能及时到达直播捆绑模块时,直播捆绑模块用辅播上传的流来填充主播流中出现的空洞。这个空洞必须是从”直播同步”发出的同步点起始,不是任意时间点都可以开始。遵循这些规则而做捆绑时,用户感知不到主播的上传不流畅,而是被强制切换到了另一个视角场景。比如,图2中主播流中的三个“x”片断由于带宽不够,没有及时到达直播服务器,而另一个视角的“y”片段及时传到了服务器,这时直播捆绑模块就会实现从辅播的流中把y片段填充到“x”位置。

把多个主播和辅播的流的描述都写进直播描述文件,观众终端在客户端任意选择自己想要播放的流;辅播终端可以在任意时间点切入,或者不同人可以同时切入形成多个辅播,这些辅播可以在任意时间点切出,直播捆绑模块按照特定的逻辑实现多视角直播或是直播评论等应用。当主播和辅播分别在不同运营商网络但硬件合二为一时,比如双卡双待手机,此时可以采用同一个摄像头编出来的流,通过不同网络上传传输。

本发明对直播上传的协议不做任何限制,可以是rtmp、rtsp、http或是udp等协议。本发明对捆绑后的流媒体输出协议也不做任何约束,可以是hls、mpeg-dash等。

本发明也不对上传过程中使用的包传输协议也不做任何约束,可以是tcp、udp、sctp、quic协议,这些协议都可以达成这个目的,如果使用带有streamid的传输协议,比如sctp和quic协议显然会使得本发明的实施更便捷。

一种稳健的多视频捆绑直播方法,包含以下步骤:

步骤一:主播在主播终端向同步直播模块发出请求,产生直播同步信息;

步骤二:直播同步模块发出直播同步信息,主播终端接收该直播同步信息;

步骤三:主播终端收到直播同步信息后,按指定参数编码把编码片段的第一个关键帧打上直播同步信息给定的时间戳,然后向直播捆绑模块持续上传编好的直播流;

步骤四:辅播在主播开始后的任意时间点上发出捆绑直播请求,辅播终端播服务系统发出要求捆绑直播的要求,直播同步模块根据要捆绑直播的直播号向辅播终端发出直播同步信息,该直播同步信息和主播接收的直播同步信息完全一致;

步骤五:辅播在收到直播同步信息后,按要求产生直播流,并上传到直播捆绑模块,直播捆绑模块把多个流进行捆绑,并把捆绑后的直播描述文件下发给观众终端,观众在直播描述文件中选择观看捆绑的直播流中的部分视频流或全部视频流。

本说明书中所描述的以上内容仅仅是对本发明所作的举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种修改或补充或采用类似的方式替代,只要不偏离本发明说明书的内容或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

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