辅助直播的多视频导播方法和设备与流程

文档序号:12810216阅读:913来源:国知局
辅助直播的多视频导播方法和设备与流程

本发明涉及网络视频技术领域,特别涉及一种辅助直播的多视频导播方法及设备。



背景技术:

随着网络技术的日新月异,网络直播已经被越来越多的主流人群所接受,这得益于网络直播以新颖的样式和相对便捷的服务,给网民带来一种全新的视角体验和视野冲击。网络的双向流通交互性更显现出给予受众更多选择和尊重的特性,受到网友尤其是年轻网友的青睐。

网络直播的最大特点即“互动”,由于直播在网络平台上进行,观众的自主选择与参与度得到了巨大的延伸。网络直播的互动方式也从传统的文字到图文,再到语音,并已经进入了视频互动的时代。目前的网络直播已经可以很好地实现对于单人表演甚至双人连麦方式这些互动方式的支持。从发展来看,人们并不满足于这样的基础互动方式,网络直播未来的发展趋势将呈现出更大的规模效应,朝团队和更加专业化的类电视综艺的方向发展。但目前的网络直播视频采集端还是采用较传统的摄像头(包括手机),受制于设备采集视频范围大小的限制,也包括视频展示尺寸的限制,经常看到在现有设备的支撑能力下,团体类主播不得不彼此紧挨着以便能在同一个摄像头覆盖的范围下,稍稍动一下,就可能被移出镜头之外,即使如此,还是经常被其他成员挡住,表演过程受到了极大的制约,因而还不能够很好地将网络直播应用到团体类的表演互动直播中。



技术实现要素:

基于此,有必要针对上述提到的问题,提供一种辅助直播的多视频导播方法及设备。

一种辅助直播的多视频导播方法,包括:

通过直播导播台插件采集至少两路的音视频流;

对所述至少两路的音视频流进行处理,生成音视频流数据包;

通过进程间通信将所述音视频流数据包传输给直播应用。

在其中一个实施例中,所述对所述至少两路的音视频流进行处理,生成音视频流数据包,包括:

每路所述音视频流包括音频流和视频流;

设置每路视频流的视频属性,根据所述视频属性对所述至少两路的音视频流中的视频流进行处理;

设置每路音频流的音频属性,根据所述音频属性对所述至少两路的音视频流中的音频流进行处理;

对齐处理后的音频流和处理后的视频流的时间戳,生成音视频流数据包。

进一步的,所述视频属性包括视频模板信息、尺寸信息、位置信息或层级信息中的至少一种;

所述视频模板信息,用于确定每路视频流在显示界面上的背景画面信息;

所述尺寸信息,用于确定每路视频流在显示界面上的画面大小;

所述位置信息,用于确定每路视频流在显示界面上的显示位置;

所述层级信息,用于确定每路视频流之间的显示层级。

进一步的,所述根据所述视频属性对所述至少两路的音视频流中的视频流进行处理,包括:

将每路所述视频流转化为帧数据;

在所述帧数据中设置相应的视频属性;

对齐所述帧数据中的时间戳,根据视频属性将帧数据设置于同一显示界面,将所述帧数据合成视频流。

进一步的,所述音频属性包括音量信息、音调信息、背景声音信息或声道位置信息中的至少一种。

在其中一个实施例中,所述设置每路视频流的视频属性,包括:从每路的音频流和/或视频流识别出第一设置指令,根据第一设置指令设置该路视频流的视频属性;

所述设置每路音频流的音频属性,包括:从每路的音频流和/或视频流识别出第二设置指令,根据第二设置指令设置每路音频流的音频属性。

在其中一个实施例中,所述通过直播导播台插件采集至少两路的音视频流,包括:

从若干组音视频集合中选择待处理组音视频集合;

通过直播导播台插件采集所述待处理组音视频集合,待处理组音视频集合包含至少两路的音视频流。

进一步的,所述通过直播导播台插件采集至少两路的音视频流,对所述至少两路的音视频流进行处理,生成音视频流数据包,包括:

通过capture/reader模块把若干组音视频集合中的视频流存储到缓存rawdata;

设置每路视频流的属性值size/location/zorder;

通过scenemgr选择从若干组音视频集合中选择待处理组音视频集合;

启动runloop线程,按照设定帧率,历遍待处理组音视频集合的视频流的缓存rawdata,获取缓存rawdata和属性值size/location/zorder,根据属性值size对帧数据进行缩放,根据属性值location确定帧数据的在显示界面的绘制位置,根据属性值zorder确定帧数据的层级关系,从底层到顶层将各帧数据依次合成,得到合成画面的帧数据,根据帧数据产生视频流;

设置每路音频流的音频属性,根据所述音频属性对待处理组音视频集合的音频流进行处理;

对齐处理后的音频流和处理后的视频流的时间戳,生成音视频流数据包。

在其中一个实施例中,所述对所述至少两路的音视频流进行处理,生成音视频流数据包的步骤还包括,在所述音视频流中添加音视频特效的步骤,所述添加音视频特效的方法包括在所述音视频流中叠加视频信息和/或音频信息。

本发明同时提供了一种辅助直播的多视频导播设备,包括:

采集模块,用于通过直播导播台插件采集至少两路的音视频流;

处理模块,用于对所述至少两路的音视频流进行处理,生成音视频流数据包;

输出模块,用于通过进程间通信将所述音视频流数据包传输给直播应用。

本发明提供的辅助直播的多视频导播方法通过直播导播台插件对两路以上的音视频流单独进行处理,每一路视频都可以支持用户自行添加音视频输入设备,处理后再通过进程间通信将处理后的音视频流数据包传输到直播应用中以实现多路音视频的协同播放,实现了在同一应用程序上进行直播音视频的处理操作,省去了在多个直播辅助应用中来回切换的繁琐操作,节省了设备资源的损耗,最大程度的避免了设备卡顿、宕机的现象。正因如此,团队协作的娱乐表演用户就可以根据自己的场景布置需要为相应的成员单独设置视频输入设备,为团体类的娱乐主播表演提供更加便捷的支持,从而满足团体多人共同表演的网络直播需求。

附图说明

图1为本发明一个实施例中辅助直播的多视频导播方法流程图;

图2为本发明一个实施例中步骤s100的详细方法流程图;

图3为本发明一个实施例中步骤s200的详细方法流程图;

图4为本发明一个实施例中直播导播台插件的界面示意图;

图5为本发明一个实施例中音视频流的详细处理过程流程图;

图6为本发明一个实施例中辅助直播多视频导播设备的结构示意图;

图7为本发明一个实施例中处理模块20的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

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

在对本发明的实施例做出具体阐述之前,有必要先对本发明的应用场景及其原理进行如下的先导性说明:

在网络直播过程中,用户通过终端设备上的网络直播应用程序或相应的直播间站点进入网络直播间。在网络直播间内具有两种成员,分别是主播成员和参与成员。主播成员可进行唱歌、跳舞等直播表演,通过终端设备录制视频或音频文件,再上传至网络直播服务器,网络直播服务器再将该视频或音频文件发布至网络直播间,以供参与成员观看。本发明主要涉及与网络直播相关的应用。

本发明一种实施例中的辅助直播的多视频导播方法,如图1所示,该辅助直播的多视频导播方法具体包括的步骤有:

步骤s100:通过直播导播台插件采集至少两路的音视频流。

步骤s200:对步骤s100中的至少两路的音视频流进行处理,生成音视频流数据包。

步骤s300:通过进程间通信将步骤s200得到的音视频流数据包传输给直播应用。

通过上述过程,以直播导播台插件收集两路以上的音视频流,对每一路音视频流都可独立采用音视频采集设备,不再受制于设备采集视频范围大小的限制,也就不必再出现团体类主播不得不彼此紧挨着以便出镜的窘况,直播导播台插件将多路音视频流采集起来之后进行处理,得到处理后的音视频流数据包,通过进程间通信,将音视频流数据包传输给直播应用,以便于最终将音视频流数据包展示播放,实现了同一应用程序上进行直播音视频的处理操作,省去了来回切换多个直播辅助应用的繁琐操作,节省了设备资源的损耗,最大程度的避免了设备卡顿、宕机的现象。由此顺利将网络直播良好地应用到团体类的表演互动直播中。

通过步骤s100,直播导播台插件采集在团体表演中至少两个摄像头获取到的视频,也即采集至少两路的音视频流,每一路音视频流中包括表演团队的至少一个对象——一名表演者产生的音频和视频数据,当然,为了方便处理,使得到的音视频流数据包表达的音视频显得声音更加和谐、画面更加顺畅,该至少两路的音视频流应当在同一音视频流组合中,比如在同一表演场景中,具有相同的背景或表演风格。优选的,如图2所示,步骤s100的实现还可以通过从若干组音视频集合中选择和切换出待处理组音视频集合,音视频集合例如图2中所示的场景1、场景2和场景3,也即从多个场景中选择(或在场景之间切换)出一个待处理场景,每个场景中包含若干个对象,如对象1、对象2和/或对象3,针对每个对象进行相应的对象属性处理,得出处理后的场景。在技术层面表示为所选择出的待处理音视频集合中包含至少两路音视频流(每路音视频流对应每个表演对象),这样使得在直播导播台插件中处理的数据量进一步扩大化,提高了应用程序的处理效率和能力,从而更好地适应多团体表演需求,更方便地实现在不同表演场景中的自由切换。

通过步骤s100采集到至少两路的音视频流之后,再通过步骤s200对采集到的音视频流进行处理,最后处理得到汇集到一起的音视频流数据包。优选的,在对采集到的音视频流进行处理过程中,如图3所示,包括如下的详细步骤:

步骤s210:设置每路视频流的视频属性,根据该视频属性对所述至少两路的音视频流中的视频流进行处理。

步骤s220:设置每路音频流的音频属性,根据该音频属性对所述至少两路的音视频流中的音频流进行处理。

步骤s230:对齐处理后的音频流和处理后的视频流的时间戳,生成音视频流数据包。

每路音视频流包括音频流和视频流,因而对于步骤s210和步骤s220并无顺序上的要求。在步骤s210中,视频属性通常包括视频模板信息、尺寸信息、位置信息或层级信息中的至少一种。其中视频模板信息用于确定每路视频流在显示界面上的背景画面信息,当需要通过计算机向采集得到的原始视频中添加背景时,该项属性调整能够发挥较大作用,以实现某一表演场景中不同表演对象的背景统一,即使在实际场地背景受到限制的情况下,也能够通过添加既有模板实现团队不同表演对象的场景背景统一。尺寸信息则用于确定每路视频流在显示界面上的画面大小,位置信息用于确定每路视频流在显示界面上的显示位置,而层级信息则用于确定每路视频流之间的显示层级,如图4所示,在一种直播导播台插件的界面上(图中a、b、c分别表示为一个表演场景中的不同表演对象,视频1、视频2和视频3分别代表不同的表演场景),通过尺寸信息、位置信息和/或层级信息可以实现每个表演场景中不同表演对象在播放画面中的大小、位置和排列层次,以表现团队表演中表演者主配角之间的关系,真实模拟团队表演的效果。

详细地,根据视频属性对至少两路的音视频流中的视频流进行处理,包括的过程为:首先将每路视频流转化为帧数据,视频均是由一帧一帧的静态画面以一定的播放速度连续播放得到的,在转化得到的帧数据中设置相应的视频属性,如图片位置、图片大小和此路图片与他路图片的相对层次关系等。最后对齐不同数据路属中对应帧数据中的时间戳,将多路视频数据合成为同一路数据,并根据视频属性将帧数据设置于同一显示界面,将帧数据重新合成为视频流。

对于步骤s220中的音频属性,可以包括音量信息、音调信息、背景声音信息或声道位置信息中的至少一种。采用对每路音视频流的音频属性可调整设置,进一步突出表现团队表演中主配角之间的关系,实现模拟团队表演的真实声音体验。

作为一个优选的方案,为了使得播出的音视频更加丰富活泼,在音视频流中添加音视频特效的步骤,该添加音视频特效的方法包括在音视频流中叠加视频信息和/或音频信息。在某一路或者若干路音视频流中添加已经准备好的音频和/或视频素材,能够使获得的音视频流信息更加丰富,风格变化多样,而该添加技术的详细细节,本领域技术人员能够知晓,在此不再赘述。

对于步骤s230,可以知晓,每一路音视频流中的音频和视频由于来源于同一采集设备,因而具有相同的时间属性,即在某一时间点上的画面对应一段声音,这样的一种某一时间点的概念可通过时间戳来表述,在处理之后的音频流和视频流中,由于处理后的音频流来自于不同的对象,处理后的视频流也来自于不同的对象,因而要实现最后的团队表演效果,必须将处理后的音频流和视频流的时间戳通过一定的规则对齐,才能够实现处理后的声音和处理后的视频相匹配,使团队表演直播顺畅自然。

作为另一个优选的方案,为了实现团队表演网络直播的音视频设置更加智能化,减少人工操作的参与,利用现有的图像识别和语音识别技术,可使多视频导播具备智能性的特点,使网络直播根据表演者的表演实际自动变化表演直播音视频的形式和内容。具体方法包括:对于设置每路视频流的视频属性,包括从每路的音频流和/或视频流中识别出第一设置指令,根据第一设置指令设置该路视频流的视频属性,比如通过在音频流中识别并抓取特定的声音,或者在视频流中识别出特定的动作(画面),与指令库中的预设声音或预设动作(画面)对比,相应调出预设声音对应的第一设置指令,根据第一设置指令设置与抓取得到的特定的声音或特定的动作(画面)对应的视频属性,例如在团队表演的表演者中某一表演者喊出“该我啦”或对镜头举手,系统自动处理,将该表演者所对应的音视频流相应设置为突出位置,比如放大表演者图像,将表演者图像位置放置在中间,或者将表演者图像放置在靠前的层级位置上。同理,对于设置每路音频流的音频属性,包括从每路的音频流和/或视频流识别出第二设置指令,根据第二设置指令设置每路音频流的音频属性,例如识别到音频流中包含到某一特定乐器的起奏声音,根据预先设定的对应指令,将该音频流对应的表演者声音放大到一定音量,突出表现出来,或者识别到某路视频流中表演者盯住对应的摄像头一定时间,根据预先设定的该动作对应指令,也将该表演者发出的声音的声音属性调整到特定的值,以表现该表演者所发出的声音。当然,上述的第一设置指令和第二设置指令既可以相同,也可以不同。关于图像识别和语音识别的更加详细的处理过程,相关领域技术人员能够完成,在此不再赘述。通过本优选的方案,使得直播插件具有直接根据直播表演内容智能化处理音视频流的特性,而无需人工操作就能实现对多路音视频流的编辑,大幅度提高了音视频流处理的效率。

在本发明的其中一个实施例中,如图5所示,通过直播导播台插件采集至少两路的音视频流,对该至少两路音视频流进行处理,生成音视频流数据包的详细过程如下:

首先通过capture/reader模块把若干组音视频集合中的视频流存储到缓存rawdata,将多路视频缓存起来,可使得多路视频在同一时间段内集中处理,能提高后续处理的效率,再设置每路视频流的属性值size/location/zorder,通过scenemgr从若干组音视频集合中选择待处理组音视频集合,每组音视频集合可包含多路音视频流,如此一来增加了音视频流的选择范围,扩大了可处理的数据量,使得直播导播台插件的处理能力得到大幅度提升。其次,启动runloop线程,按照设定帧率,历遍待处理组音视频集合的视频流的缓存rawdata,获取缓存rawdata和属性值size/location/zorder,根据属性值size对帧数据进行缩放,根据属性值location确定帧数据的在显示界面的绘制位置,根据属性值zorder确定帧数据的层级关系,从底层到顶层将各帧数据依次合成为一幅画面,得到一帧合成画面的帧数据,在一定时间内以一定帧率通过帧数据产生视频流,通过这一步骤,一方面使得音视频流中的视频流处理更加有条理,由此确保直播导播台插件的处理稳定性、准确性和效率,另一方面也实现了将多路视频流按照设定效果良好地合并到一起的目的。再次,设置每路音频流的音频属性,根据音频属性对待处理组音视频集合的音频流进行处理。最后,对齐处理后的音频流和处理后的视频流的时间戳,生成音视频流数据包。直播导播台插件还可通知其render对帧数据或者音视频流进行预览,通过upload将数据上传到服务器以供对外发包播放,还可通过recoder进行编码存储到硬盘。综合来看,通过本优选的实施例的各步骤,使得直播导播台插件具有高效率、良好稳定性和准确性地处理大量音视频的能力,充分实现将多路音视频流合成为同一音视频流的目的,满足在网络直播中真正实现团队表演的要求。

对于步骤s300,总体上来将直播导播台插件以独立进程的形式存在,直播应用以另一个独立进程的形式存在,最终实现在同一个应用程序中完成所有需要的任务。两者之间的数据传输通过共享内存的方式进行进程间通信,传输音视频数据。直播导播台插件接收原始视频输入端如摄像机、摄像头或手机的原始视频输入,通过诸如视频叠加处理和音视频特效后,再将处理得到的音视频数据包传输给直播应用,可再由直播应用将数据上传服务器,实现音视频数据的整个上行过程。进程间数据传输,即进程间的数据交换,具体包括的方式有:广播、接口访问、对象访问、共享访问。

以本发明直播导播台插件(以a程序表述)与直播应用(以b程序表述)间的通信为例:广播的具体实现方式是启动a程序,定义a程序的传输音视频流数据包为c事件,并向b程序发送广播;b程序在运行的情况下新建一个类以继承c事件的触发,接收a程序的广播,建立a、b之间的跨进程通信通道。

接口访问的具体实现方式包括a程序触发c事件,在相关权限访问的获准下,b程序访问a程序对外暴露的接口,建立a、b之间的跨进程通信通道,并获取a程序的与c事件相应的数据。

而对象访问的具体实现方式是创建b程序并建立一个新的活动命名为d活动,再创建a程序并建立一个新的事件为c事件对应b程序中的d,触发d活动对应的相关指令访问a程序接收c事件的相关数据,并建立a、b之间的跨进程通信通道。

所述共享访问的具体实现方式是将a程序触发的c事件对应的数据存储于预置内存中并建立相关的权限访问,运行b程序建立访问所述预置内存相关权限,在该权限的基准下,获取所述预置内存中的c事件对应的音视频流数据包,构建a、b之间的跨进程通信通道。

基于计算机系统化的思想,本发明一实施例同时提供了一种辅助直播多视频导播设备,如图6所示,包括:

采集模块10,用于通过直播导播台插件采集至少两路的音视频流;

处理模块20,用于对所述至少两路的音视频流进行处理,生成音视频流数据包;

输出模块30,用于通过进程间通信将所述音视频流数据包传输给直播应用。

作为一个优选的方案,采集模块10通过直播导播台插件采集至少两路的音视频流,包括:

从若干组音视频集合中选择待处理组音视频集合;

通过直播导播台插件采集所述待处理组音视频集合,待处理组音视频集合包含至少两路的音视频流。

进一步的,如图7所示,处理模块20包括:

视频处理单元21,用于设置每路所述音视频流中视频流的视频属性,根据所述视频属性对所述至少两路的音视频流中的视频流进行处理;

音频处理单元22,用于设置每路音频流的音频属性,根据所述音频属性对所述至少两路的音视频流中的音频流进行处理;

音视频生成单元23,用于对齐处理后的音频流和处理后的视频流的时间戳,生成音视频流数据包。

视频处理单元21中设置的视频属性包括视频模板信息、尺寸信息、位置信息或层级信息中的至少一种。视频模板信息,用于确定每路视频流在显示界面上的背景画面信息。尺寸信息,用于确定每路视频流在显示界面上的画面大小。位置信息,用于确定每路视频流在显示界面上的显示位置。层级信息,用于确定每路视频流之间的显示层级。音频属性包括音量信息、音调信息、背景声音信息或声道位置信息中的至少一种。

视频处理单元21根据视频属性对至少两路的音视频流中的视频流进行处理,包括:将每路视频流转化为帧数据,在所述帧数据中设置相应的视频属性,对齐帧数据中的时间戳,根据视频属性将帧数据设置于同一显示界面,将帧数据合成视频流。

优选的,通过视频处理单元21设置的视频属性,还可以包括:从每路的音频流和/或视频流识别出第一设置指令,根据第一设置指令设置该路视频流的视频属性。

音频处理单元22中设置的音频属性,包括:从每路的音频流和/或视频流识别出第二设置指令,根据第二设置指令设置每路音频流的音频属性。

通过该辅助直播多视频导播设备实现上述辅助直播的多视频导播方法,达到在网络直播中顺利引入团队、团体多人共同表演的目的。

作为一个优选的方案,处理模块20通过直播导播台插件采集至少两路的音视频流,对所述至少两路的音视频流进行处理,生成音视频流数据包,包括:通过capture/reader模块把若干组音视频流中的视频流存储到缓存rawdata,设置每路视频流的属性值size/location/zorder,通过scenemgr选择从若干组音视频集合中选择待处理组音视频集合,启动runloop线程,按照设定帧率,历遍待处理组音视频集合的视频流的缓存rawdata,获取缓存rawdata和属性值size/location/zorder,根据属性值size对帧数据进行缩放,根据属性值location确定帧数据的在显示界面的绘制位置,根据属性值zorder确定帧数据的层级关系,从底层到顶层将各帧数据依次合成,得到合成画面的帧数据,根据帧数据产生视频流。设置每路音频流的音频属性,根据音频属性对待处理组音视频集合的音频流进行处理。对齐处理后的音频流和处理后的视频流的时间戳,生成音视频流数据包。

本发明还提供一种多图像显示系统,该系统包括视频播放设备和上述提到的辅助直播多视频导播设备。该系统所使用的视频播放设备为相关技术领域的公知常识,而辅助直播的多视频导播设备的原理和组成已由上文充分描述,在此不再赘述。

本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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