直播间视频流合成方法、装置及终端设备与流程

文档序号:12499390阅读:480来源:国知局
直播间视频流合成方法、装置及终端设备与流程

本发明涉及网络直播技术领域,具体涉及一种直播间视频流合成方法、装置及终端设备。



背景技术:

随着互联网技术及智能移动终端设备的发展,各种互联网产品给人们的工作、生活带来了很多便利与娱乐,近年来,各类用于视频直播的直播平台层出不穷,视频直播给人们带来更实时的社交体验。目前的直播平台包括了用于移动端的直播平台和用于PC端的直播平台。

由于视频直播需求的多样性,用户需要同时直播多个移动端的内容或同时直播多个PC端的内容或同时直播移动端跟PC端的内容,例如用户开始在PC端上直播,然后想暂时转移直播场景至户外,利用移动端直播户外此时发生的情况,在现有技术中,往往需要主播用户在移动端重新建立一个直播间开启户外直播,然后原来直播间的观看用户需要重新进入新的直播间后才能看到主播进行的户外直播,由于户外直播是暂时性的,在户外直播停止后,主播重新回到PC端直播,而观看用户又得重新进入该主播的PC端的直播间,这种方式下主播用户跟观看用户的操作过程繁琐,无法给主播用户跟观看用户带来良好体验,降低直播平台口碑,造成用户流失。

所以,如何解决多个终端同时直播的多源直播模式是目前网络视频直播领域中亟需解决的问题,并且在多源直播模式下如何最大限度地提高网络带宽的利用率,降低直播平台服务器的压力同样是需要考虑并解决的问题。



技术实现要素:

本发明的首要目的在于提供一种直播间视频流合成方法、装置。

本发明的另一目的在于提供执行上述直播间视频流合成方法的终端设备。

为实现该目的,本发明采用如下技术方案:

第一方面,本发明提供一种直播间视频流合成方法,包括如下步骤:

响应于主播用户开启多源直播的操作指令,输出包含直播间特征信息及主播身份信息的预协议信息;

将主播用户终端配置为服务器终端并接收第二终端根据所述预协议信息发起的连接请求;

响应于所述连接请求,在主播用户与至少一个第二终端确认连接后,接收所述第二终端采集的第二视频流;

将本地采集的第一视频流与所述第二视频流合成为第三视频流后上传到服务器,以使得所述服务器向直播间的每个用户推送所述第三视频流。

进一步的,所述预协议信息以二维码、特征口令或链接的形式表征。

进一步的,所述接收第二视频流的过程与采集本地的第一视频流的过程与合成第三视频流的过程与上传第三视频流的过程并行工作。

具体的,所述第一、第二、第三视频流均包括图像流和音频流,所述第三视频流包括第一视频流、第二视频流至少之一的图像流,还包括该两者至少之一的音频流。

进一步的,所述第二终端根据所述预协议信息向主播用户终端发起连接请求,并与主播用户终端保持长连接。

第二方面,本发明提供一种直播间视频流合成装置,包括:

输出模块:用于响应于主播用户开启多源直播的操作指令,输出包含直播间特征信息及主播身份信息的预协议信息;

配置模块:用于将主播用户终端配置为服务器终端并接收第二终端根据所述预协议信息发起的连接请求;

接收模块:用于响应于所述连接请求,在主播用户与至少一个第二终端确认连接后,接收所述第二终端采集的第二视频流;

合成模块:用于将本地采集的第一视频流与所述第二视频流合成为第三视频流后上传到服务器,以使得所述服务器向直播间的每个用户推送所述第三视频流。

进一步的,所述预协议信息以二维码、特征口令、链接等形式表征。

进一步的,所述接收第二视频流的过程与采集本地的第一视频流的过程与合成第三视频流的过程与上传第三视频流的过程并行工作。

具体的,所述第一、第二、第三视频流均包括图像流和音频流,所述第三视频流包括第一视频流、第二视频流至少之一的图像流,还包括该两者至少之一的音频流。

第三方面,本发明还提供一种终端设备,包括:处理器、存储器,所述处理器用于调用执行以程序形式存储于所述存储器的所述直播间视频流合成方法的任意一项步骤。

与现有技术相比,本发明具备如下优点:

(1)本发明将主播终端配置为服务器终端,用以接收第二终端采集后直接发送至主播终端的视频流,再由主播终端将所有视频流合成推送至直播间的视频流,直播间的观众用户看到的视频流与主播终端上的视频流一致,保证了视频流的同时性。

(2)同时,由于主播终端被配置为服务器终端,第二终端采集的视频流不需经过直播平台的服务器而直接发送至主播终端,直播平台服务器只需接收主播终端上传的最终推向直播间的视频流,并且将其推送至直播间的每个观看用户,避免大量的第二终端将视频流上传至服务器,减少了网络带宽的占用,降低了直播平台服务器的压力。

(3)再者,上述推向直播间的视频流适配于各种直播视频播放前端(PC端、移动端、WEB端),无需再为多种前端适配不同的视频流解析协议,彻底解放前端。

显然,上述有关本发明优点的描述是概括性的,更多的优点描述将体现在后续的实施例揭示中,以及,本领域技术人员也可以本发明所揭示的内容合理地发现本发明的其他诸多优点。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

【附图说明】

图1为本发明直播间视频流合成方法的一实施例流程示意图;

图2为本发明多源直播的两种实施方式示意图;

图3为本发明以二维码的形式表征预协议信息的示意图;

图4为本发明以特征口令的形式表征预协议信息的示意图;

图5为本发明以链接的形式表征预协议信息的示意图;

图6为本发明选定连接2个第二视频流后的第三视频流的示意图;

图7为本发明直播间视频流合成装置的一实施例示意图。

【具体实施方式】

下面结合附图和示例性实施例对本发明作进一步地描述,其中附图中相同的标号全部指的是相同的部件。此外,如果已知技术的详细描述对于示出本发明的特征是不必要的,则将其省略。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。

本技术领域技术人员可以理解,本发明所述的用户界面/操作界面泛指能够用于向智能终端发送控制指令的显示界面,例如,可以为Android系统的设置页面中的一个选项(或按键,由所述应用程序添加其中,下同),也可以是从桌面呼出的通知栏或者交互页面中的一个选项,还可以是所述应用程序的一个活动组件所构造的页面中的一个选项。虽然上面已经示出了本发明的一些示例性实施例,但是本领域的技术人员将理解,在不脱离本发明的原理或精神的情况下,可以对这些示例性实施例做出改变,本发明的范围由权利要求及其等同物限定。

本领域技术人员应当理解,本发明所称的“应用”、“应用程序”、“应用软件”以及类似表述的概念,是业内技术人员所公知的相同概念,是指由一系列计算机指令及相关数据资源有机构造的适于电子运行的计算机软件。除非特别指定,这种命名本身不受编程语言种类、级别,也不受其赖以运行的操作系统或平台所限制。理所当然地,此类概念也不受任何形式的终端所限制。

直播间:本发明所述直播间包括以下含义,①一种基于网络直播平台创建的一个虚拟空间(或虚拟房间),直播间一般由主播客户端创建并连接有多个观看客户端,即直播间中包括了主播及多个观众,位于该虚拟空间内的观看客户端可以观看主播客户端的直播内容,同时主播客户端的用户与观看客户端的用户、观看客户端的用户与观看客户端的用户之间还可以进行语音、图片、文字或赠送电子赠品的互动;②一种以群组方式将用户聚合在一起的即时通讯平台,例如视频会议系统,用户通过登录客户端的方式进入群组,用户在群组内以群组成员的身份存在,同一个群组内包含有多个群组成员,用户可任意加入或退出群组,在群组内,可以进行文字、语音、视频等多种互动。

第一方面,如图1所示是本发明直播间视频流合成方法的一实施例流程示意图,包括如下步骤:

本方法的实现依赖于视频直播客户端的某一功能模块或插件,视频直播客户端包括PC端上的视频直播软件和移动端上的视频直播应用程序,所述功能模块或插件具体为相应软件/应用程序内的可执行代码,所述功能模块或插件的具体实现形式不作为对本发明的具体限定。

步骤S100:响应于主播用户开启多源直播的操作指令,输出包含直播间特征信息及主播身份信息的预协议信息。

具体的,如图2所示是多源直播的两种实施方式:①利用多种、多台拍摄设备同时采集多个视频流,再在主播终端以主播身份将该多个视频流合成推送至直播间的视频流,例如主播刚开始是利用PC端进行直播,然后主播要暂时转移直播场景,此时可以利用手机端采集另一场景的视频流然后与PC端的视频流合并从而实现多源直播;②由主播终端采集第一视频流,再连接多个用户并接收该些用户的第二终端采集的第二视频流,再在主播终端上以主播身份将该多个视频流合成推送至直播间的视频流进而实现多源直播。用户点击如图2中的“我是主播”按钮,然后登陆直播平台的用户身份信息,再通过配置直播间的标题、封面图片等信息后,即可以主播用身份开启多源直播。

具体的,所述预协议信息包含直播间特征信息、主播身份信息,另外还包含建立主播终端与第二终端的专属链路的授权令牌或鉴权信息,其通过加密方式处理、存储在预协议信息中,必须经相应授权的应用程序才能从预协议信息中解析、得到所述直播间特征信息、主播身份信息。一般地,预协议信息由各直播平台自行定义,经该直播平台授权的应用程序识别表征所述预协议信息的形式后方能得到所述预协议信息。直播间特征信息为直播间的频道ID,用以确定唯一的直播间,主播身份信息为主播用户的UID,用以确定用户的主播身份。

具体的,所述预协议信息以二维码、特征口令或链接的形式表征。

如图3所示是以二维码的形式表征预协议信息的示意图,二维码是通过特定的几何图形按预定的规律在二维平面上分布的黑白相间的图形记录数据符号信息,二维码在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用多个与二进制相对应的几何形体来表示文字、数值等信息,可以通过图象输入设备或光电扫描设备识读二维码以获取二维码中包含的信息。二维码具有条码技术的多个共性:每种码制有其特定的字符集;每个字符占有预定的宽度;并且具有一定的校验功能等。

另外,预协议信息亦可以如图4所示的特征口令的形式表征;同时,预协议信息亦可以如图5所示的链接的形式表征。不管预协议信息以何种形式表征,其均需由各直播平台授权的应用程序根据预先设定的协议获取其中的预协议信息,再进行后续操作。

步骤S200:将主播用户终端配置为服务器终端并接收第二终端根据所述预协议信息发起的连接请求。

主播用户开启多源直播后,视频直播客户端将主播用户终端配置为一台服务器以接收第二终端的视频流,为了区别于直播平台的服务器,本实施例亦称主播用户终端为服务器终端;同时,主播用户将直播客户端输出的预协议信息发送给其它用户/终端设备,以使该些第二终端根据所述预协议信息向服务器终端发起连接请求。

具体的,所述第二终端根据所述预协议信息向主播用户终端发起连接请求后,直播平台服务器验证预协议信息,验证成功则视该连接请求为合法连接请求,然后为主播用户终端跟第二终端建立专属的通信链路连接以使双方直接进行数据传输,此时,第二终端与主播用户终端以长连接的形式保持双方的通信链路连接。长连接即是客户端长时间的连接在服务器上,在本实施例中,由于主播用户终端被配置为服务器终端,所述长连接即指第二终端的视频直播客户端长时间的连接在服务器终端(即主播用户终端)上,保持长连接的通信双方在一个连接上可以连续发送多个数据包,一般服务器都设有超时限制即一定时间内连接处于非活动状态(没有任何数据传输)服务器就会把连接自动断开,所以需要客户端每隔一段时间给服务端发送一个心跳检测数据包以保持长链接。所以在本实施例中,主播用户终端与第二终端在长连接保持期间,如果没有数据包发送,需要第二终端的视频直播客户端每隔一段时间给主播用户终端发送一个心跳数据包以保持长链接,长连接适用于点对点通讯,对于视频直播领域而言,本发明可以大大减少直播平台服务器的带宽,降低直播平台服务器的压力。

步骤S300:响应于所述连接请求,在主播用户与至少一个第二终端确认连接后,接收所述第二终端采集的第二视频流。

主播用户的视频直播客户端响应所述连接请求,在视频直播界面上显示保持长连接状态的一个或多个第二终端,受限于长连接的特性及视频直播界面的大小,与主播用户终端保持长连接的第二终端的数量优选小于等于5个,同时,在主播用户选定与其中一个或多个第二终端确认连接后,此时第二终端将第二视频流传输至服务器终端,双方不再需要发送心跳检测包,服务器终端(即主播用户终端)接收所述第二终端采集的第二视频流;另外,主播用户可随时在主播用户终端的操作界面上取消接收第二终端的视频流,此时第二终端不再发送第二视频流至服务器终端,在达到规定的时间后,第二终端再次向服务器终端发送心跳检测包,以保持与服务器终端的长连接;再者,主播用户亦可断开与第二终端的长连接,在断开后达到规定的时间,第二终端再次向服务器终端发送心跳检测包,服务器终端没有反馈,则此时第二终端断开与服务器终端的长连接。

步骤S400:将本地采集的第一视频流与所述第二视频流合成为第三视频流后上传到服务器,以使得所述服务器向直播间的每个用户推送所述第三视频流。

在主播用户与至少一个第二终端确认连接后接收第二终端采集的视频流,同时将本地采集的第一视频流与所述第二视频流合成为第三视频流后上传到服务器,以使得所述服务器向直播间的每个用户推送所述第三视频流。所述第一、第二、第三视频流均包括图像流和音频流,所述第三视频流包括第一视频流、第二视频流至少之一的图像流,还包括该两者至少之一的音频流;例如主播终端接收一个第二视频流,此时在主播用户终端上的视频流包括一个第一视频流的图像流和音频流、及一个第二视频流的图像流和音频流,在合成为第三视频流时,根据主播用户的选择对于第一视频流和第二视频流的音频流择一选用或调整其中一个音频流的音量大小以不影响另一音频流的播放。如图6所示是本发明选定连接2个第二视频流后的第三视频流的示意图。

在本实施例中,所述接收第二视频流的过程与采集本地的第一视频流的过程与合成第三视频流的过程与上传第三视频流的过程并行工作。并行工作是指同一时刻或同一时间间隔内完成两种或两种以上性质相同或不相同的工作,并行工作具有①时间重叠性:相邻处理过程在时间上错开,轮流重叠使用同一套硬件的各部分;②资源共享性:让多个用户按照一定的时间顺序轮流使用同一套资源,提高资源利用率;③资源重复:重复设置硬件资源,提高硬件可靠性和性能。具体的,对于本发明实施例而言,并行工作是指主播终端在接收第二直频流时,可以同步/同步采集第一视频流,并同时/同步将所采集的第一视频流和所接收到的第二视频流合并成第三视频流,且同时/同步将第三视频流上传到服务器,保证了直播视频流的同时/同步性。

相应地,如图7所示,本发明还提供一种直播间视频流合成装置,包括:

输出模块100:用于响应于主播用户开启多源直播的操作指令,输出包含直播间特征信息及主播身份信息的预协议信息。

用户点击如图2中的“我是主播”按钮,然后登陆直播平台的用户身份信息,再通过配置直播间的标题、封面图片等信息后,即可以主播用身份开启多源直播,即触发开启多源直播的操作指令,输出模块100将包含直播间特征信息及主播身份信息的预协议信息以如图3的二维码形式、图4的特征口令形式、图5的链接形式输出。

配置模块200:用于将主播用户终端配置为服务器终端并接收第二终端根据所述预协议信息发起的连接请求。

主播用户开启多源直播后,配置模块200将主播用户终端配置为一台服务器以接收第二终端的视频流,为了区别于直播平台的服务器,本实施例亦称主播用户终端为服务器终端;同时,主播用户将直播客户端输出的预协议信息发送给其它用户/终端设备,以使该些第二终端根据所述预协议信息向服务器终端发起连接请求。

接收模块300:用于响应于所述连接请求,在主播用户与至少一个第二终端确认连接后,接收所述第二终端采集的第二视频流。

接收模块300响应所述连接请求,在视频直播界面上显示保持长连接状态的一个或多个第二终端,同时,在主播用户选定与其中一个或多个第二终端确认连接后,此时第二终端将第二视频流传输至服务器终端,双方不再需要发送心跳检测包,接收模块300接收所述第二终端采集的第二视频流。

合成模块400:用于将本地采集的第一视频流与所述第二视频流合成为第三视频流后上传到服务器,以使得所述服务器向直播间的每个用户推送所述第三视频流。

在主播用户与至少一个第二终端确认连接后接收第二终端采集的视频流,合成模块400同时将本地采集的第一视频流与所述第二视频流合成为第三视频流后上传到服务器,以使得所述服务器向直播间的每个用户推送所述第三视频流。所述视频流包括图像流和音频流,所述第三直播视频流包括第一直播视频流、第二直播视频流至少之一的或者两者合成后的图像流,还包括该两者至少之一的音频流。

在本实施例中,所述接收第二视频流的过程与采集本地的第一视频流的过程与合成第三视频流的过程与上传第三视频流的过程并行工作。具体的,对于本发明实施例而言,并行工作是指接收模块300在接收第二直频流时,可以同步/同步采集第一视频流,并同时/同步合成模块400将所采集的第一视频流和所接收到的第二视频流合并成第三视频流,且同时/同步将第三视频流上传到服务器,保证了直播视频流的同时/同步性。

另外,本发明还提供一种终端设备,包括存储器、处理器,所述存储器用于存储上述方法实现过程中产生的候选中间数据以及结果数据,所述处理器用于调用执行以程序形式存储于所述存储器的所述直播间视频流合成方法的任意一项步骤。

本发明将主播终端配置为服务器终端,用以接收第二终端采集后直接发送至主播终端的视频流,再由主播终端将所有视频流合成推送至直播间的视频流,直播间的观众用户看到的视频流与主播终端上的视频流一致,保证了视频流的同时性;同时,由于主播终端被配置为服务器终端,第二终端采集的视频流不需经过直播平台的服务器而直接发送至主播终端,直播平台服务器只需接收主播终端上传的最终推向直播间的视频流,并且将其推送至直播间的每个观看用户,避免大量的第二终端将视频流上传至服务器,减少了网络带宽的占用,降低了直播平台服务器的压力;再者,上述推向直播间的视频流适配于各种直播视频播放前端(PC端、移动端、WEB端),无需再为多种前端适配不同的视频流解析协议,彻底解放前端。

虽然上面已经示出了本发明的一些示例性实施例,但是本领域的技术人员将理解,在不脱离本发明的原理或精神的情况下,可以对这些示例性实施例做出改变,本发明的范围由权利要求及其等同物限定。

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