辅助直播的音视频处理方法及装置与流程

文档序号:11594854阅读:299来源:国知局

【技术领域】

本发明涉及直播技术领域,尤其涉及一种辅助直播的音视频处理方法及装置。



背景技术:

现如今直播行业日益兴盛,主播在直播过程中经常需要针对自己的声音进行处理或者是直播过程中适时添加一些音效以达到调和直播气氛的作用,再者就是针对主播在直播中的呈现给观众的视频进行以实现提高主播的颜值,维护主播形象特征,美化直播环境的功能。如图3所示的现有直播过程多个应用协同配合的工作图,其中主播在直播过程中运用到的直播相关应用程序具有四个或者更多,其中有气氛音的添加、背景音的添加、音效调节以及视频调节,在此方案的直播过程中,主播需不断切换应用程序来达到直播过程的生动性及有趣性,其操作繁琐复杂,不仅如此,多个辅助直播应用将耗损直播过程的设备资源,主播设备在运行多个应用程序进行直播时极大可能性会造成直播设备的卡顿甚至是宕机现象,故在此急需一款集多个辅助直播应用功能为一体的应用。直播本身对主播用户的机器已经有较高的配置要求,会耗费较大的电脑资源,若需要同时再多开几个软件进行协同配合工作的话,经常会造成电脑不负重堪,从而导致直播过程中的卡顿现象,直播过程中若是出现宕机的状况更是无法弥补的损失,用户体验十分不好。不仅如此,需要主播耗费主播大量的精力去学习各种软件的基本操作,而且在直播过程中需要来回切换不同的软件,导致主播经常手忙脚乱,无法专心于直播本身,进而影响直播质量。



技术实现要素:

为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:

本发明提供一种辅助直播的音视频处理方法,包括:

通过辅助直播音视频应用读取原始视频流和原始音频流;对原始视频流进行处理,得到视频流;对原始音频流进行处理,得到音频流;

对齐所述视频流和音频流的时间戳,生成包含对齐后的视频流和音频流的音视频流数据包;

连通所述辅助直播音视频应用与直播应用的跨进程通信通道;

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

具体的,所述通过辅助直播音视频应用读取原始视频流和原始音频流,包括:

通过辅助直播音视频应用读取利用摄像头获得的原始视频流和利用声卡获得的原始音频流。

具体的,所述对原始视频流进行处理,得到视频流,包括:

通过所述辅助直播音视频应用接收用户的视频处理指令,将原始视频流转化为帧数据,根据所述视频处理指令对帧数据进行处理,将处理后帧数据重新组装成视频流。

具体的,所述视频处理指令对帧数据进行处理,包括:

根据所述视频处理指令从视频算法集中获取视频算法,利用视频算法对帧数据进行处理;其中,视频算法集包括视频美白算法、视频特效算法。

具体的,所述对原始音频流进行处理,得到音频流,包括:

通过所述辅助直播音视频应用接收用户的音频处理指令,根据所述音频处理指令对原始音频流进行处理,得到音频流。

具体的,所述根据所述音频处理指令对原始音频流进行处理,包括:

根据音频处理指令从音频算法集中获取音频算法,利用音频算法对原始音频流进行处理;其中,音频算法集包括音频降噪算法、叠加特效算法。

具体的,通过所述辅助直播音视频应用接收用户的视频处理指令,将原始视频流转化为帧数据,根据所述视频处理指令对帧数据进行处理,将处理后帧数据重新组装成视频流,包括:

通过所述辅助直播音视频应用的应用程序层接收用户的视频处理指令;通过辅助直播音视频应用的多媒体接口层将视频处理指令传输到辅助直播音视频应用的多媒体服务层;通过多媒体服务层将原始视频流转化为帧数据,根据所述视频处理指令对帧数据进行处理,将处理后帧数据重新组装成视频流。

具体的,通过所述辅助直播音视频应用接收用户的音频处理指令,根据音频处理指令对原始音频流进行处理,得到音频流,包括:

通过所述辅助直播音视频应用的应用程序层接收用户的音频处理指令,通过辅助直播音视频应用的多媒体接口层将音频处理指令传输到辅助直播音视频应用的多媒体服务层;通过多媒体服务层根据音频处理指令对原始音频流进行处理,得到音频流。

可选的,所述视频处理指令和所述音频处理指令对应的操作按键显示于所述辅助直播音视频应用的显示界面。

可选的,所述通过所述跨进程通信通道将所述音视频流数据包上传直播应用之后,还包括:

通过所述直播应用按预置规则将所述音视频流数据包上传到直播服务器。

相应的,本发明还提供一种辅助直播的音视频处理装置,包括;

读取处理模块:用于通过辅助直播音视频应用读取原始视频流和原始音频流;对原始视频流进行处理,得到视频流;对原始音频流进行处理,得到音频流;

时间戳模块:用于对齐所述视频流和音频流的时间戳,生成包含对齐后的视频流和音频流的音视频流数据包;

连通模块:用于连通所述辅助直播音视频应用与直播应用的跨进程通信通道;

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

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

总的来说,本发明利用辅助直播音视频应用读取原始视频流和原始音频流,以针对所述原始视频流和原始音频流进行相关的处理后得到视频流和音频流,进而将该视频流和音频流进行时间戳对齐并生成音视频流数据包,再将该音视频流数据包通过跨进程通信通道传输至直播应用以实现直播,实现了同一应用程序上进行直播音视频的处理操作,省去了来回切换多个直播辅助应用的繁琐操作,降低了设备资源的损耗,较大程度的避免了直播过程卡顿、宕机的现象,提高用户使用体验。

现有技术采用多个直播辅助应用,不仅操作繁琐,而且需要启用多个进程,增加资源损耗;此外,多个直播辅助应用的数据分别处理,这些应用的处理进程有快有满,视频流和音频流的时间戳难以对齐,导致视频流和音频流在应用时可能时间点对不上;比如,音频流的应用处理较快,而视频流的应用处理较慢,视频相对音频滞后;而本发明只有一个辅助直播音视频应用,对齐视频流和音频流的时间戳后,生成音视频流数据包,通过跨进程通信通道发给直播应用,很好地解决了现有技术问题。另一方面,本方案的辅助直播音视频应用可以作为不同的直播应用的辅助,这两个应用独立开发可降低开发难度、缩短开发周期,且这两个应用可分别属于不同的开发商,增加彼此的使用灵活性,用户可选择使用或不使用辅助直播音视频应用;辅助直播音视频应用处理数据,把对齐时间戳的音视频流数据包通过跨进程通信通道传输给直播应用,实现两个应用的衔接。

另外的,本发明针对采集的原始视频流和原始的音频流进行了相关的处理,具体是通过接收用户的视频处理指令以获取相关的视频算法,并根据该视频算法对所述原始视频流的帧数据进行处理,以实现视频美化特效及视频人像美白、人物瘦身瘦脸效果添加的目的。相应的,通过接收用户发送的音频处理指令以获取相关的音频算法并根据该音频算法对所述原始音频流进行处理,以实现音频降噪、音效叠加的目的。故在直播效果的丰富上起到了最大程度的跃进,同时实现视频、音频两者的“美化”,进而在直播过程中更加丰富你的直播内容,活跃主播与观众的互动氛围,烘托气氛,使得直播效果更为生动。

此外,本发明利用辅助直播音视频应用对所述原始视频流和原始音频流进行处理后通过请求与直播应用进行通信而连通的跨程序通信通道,通过该通信通道将处理后的所述原始视频流和原始音频流以音视频流数据包传输至直播应用,另外所述直播应用依据预置的规则将所述音视频流数据包上传至直播服务器,其中预置的规则包括将主播预先设置的直播数据打包至所述音视频数据包中一并上传,以实现同步直播的功能,降低内存占用,提高了数据传输的速率,以及保证了直播的流畅程度。

综上所述,本发明实现了同一应用程序上进行直播音视频的处理操作,省去了来回切换多个直播辅助应用的繁琐操作,节省了设备资源的损耗,最大程度的避免了直播设备卡顿、宕机的现象,提高用户使用体验;另外的在直播过程中更加丰富你的直播内容,活跃主播与观众的互动氛围,烘托气氛;使得直播效果更为生动;此外将主播预先设置的直播数据打包至所述音视频数据包中一并上传,以实现同步直播的功能,降低内存占用,提高了数据传输的速率,以及保证了直播的流畅程度。

【附图说明】

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明中一种辅助直播的音视频处理方法的实施例流程图;

图2为本发明中一种辅助直播的音视频处理装置的实施例结构框图;

图3为现有直播过程多个应用协同配合的工作图;

图4为本发明的辅助直播音视频应用的工作图;

图5为本发明的辅助直播音视频应用的架构图。

【具体实施方式】

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

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

为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明作进一步的详细说明。以下实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

请参阅附图1所示的实施例的流程图,本发明提供的一种辅助直播音视频处理方法包括以下步骤:

s101,通过辅助直播音视频应用读取原始视频流和原始音频流;对原始视频流进行处理,得到视频流;对原始音频流进行处理,得到音频流;

本发明实施例中,通过辅助直播音视频应用读取利用摄像头获得的原始视频流和利用声卡获得的原始音频流。

本发明实施例中,所述对原始视频流进行处理,得到视频流,包括:

通过所述辅助直播音视频应用接收用户的视频处理指令,将原始视频流转化为帧数据,根据所述视频处理指令对帧数据进行处理,将处理后帧数据重新组装成视频流。

本发明实施例中,所述视频处理指令对帧数据进行处理,包括:

根据所述视频处理指令从视频算法集中获取视频算法,利用视频算法对帧数据进行处理;其中,视频算法集包括视频美白算法、视频特效算法。

本发明实施例中,所述对原始音频流进行处理,得到音频流,包括:

通过所述辅助直播音视频应用接收用户的音频处理指令,根据所述音频处理指令对原始音频流进行处理,得到音频流。

本发明实施例中,所述根据所述音频处理指令对原始音频流进行处理,包括:

根据音频处理指令从音频算法集中获取音频算法,利用音频算法对原始音频流进行处理;其中,音频算法集包括音频降噪算法、叠加特效算法。

具体的,本发明实施例中,通过所述辅助直播音视频应用接收用户的视频处理指令,将原始视频流转化为帧数据,根据所述视频处理指令对帧数据进行处理,将处理后帧数据重新组装成视频流,包括:

通过所述辅助直播音视频应用的应用程序层接收用户的视频处理指令;通过辅助直播音视频应用的多媒体接口层将视频处理指令传输到辅助直播音视频应用的多媒体服务层;通过多媒体服务层将原始视频流转化为帧数据,根据所述视频处理指令对帧数据进行处理,将处理后帧数据重新组装成视频流。

还有的,通过所述辅助直播音视频应用接收用户的音频处理指令,根据音频处理指令对原始音频流进行处理,得到音频流,包括:

通过所述辅助直播音视频应用的应用程序层接收用户的音频处理指令,通过辅助直播音视频应用的多媒体接口层将音频处理指令传输到辅助直播音视频应用的多媒体服务层;通过多媒体服务层根据音频处理指令对原始音频流进行处理,得到音频流。

本发明实施例中,以所述辅助直播音视频应用为基准将其分为三个层级,如图5所示的本发明的架构图,其中包含有应用程序层、多媒体接口层、多媒体服务层。

本发明实施例中,所述应用程序层负责处理业务的主逻辑,包括展示给用户的应用程序主功能界面,以及当用户在使用具体某功能时的界面逻辑展现,其主要包括:

mixvideomanager(混合视频管理器)提供了应用程序生成混合的视频流的过程中的相关操作的功能界面;

videocontainer(视频容器)用于容纳该应用程序输入或输出的相关数据;

mixaudiomanager(混合音频管理器)提供了应用程序生成混合的音频流的过程中的相关操作的功能界面。

其所述应用程序层的各部分结构展示出了不同的界面排版,提高了界面显示的有效性,为音视频处理提供了更为便捷有利的平台。

本发明实施例中,所述多媒体服务层则主要封装抽离出相关的算法类,包括美白算法类,视频特效算法类,声音降噪算法类等等;具体的算法实现类针对于本身输入和输出是什么,从而将应用程序层和多媒体服务层在逻辑上完全隔离开,其中主要包括有:ccapturevideo(视频捕获)、caccompanymusic(伴奏音乐)、cmediavideo(媒体视频)、cmoodmusic(气氛音乐)、cdesktopvideo(桌面视频)、cdecorationlayer(装饰层)。其中所述caccompanymusic、cmediavideo、cmoodmusic三者将共同进行相关的算法类,实现统一化;所述cdecorationlayer主要抽离出相关算法。

本发明实施例中,其中所述应用程序层和多媒体服务层主要是通过多媒体接口层实现双向的通信,该媒体接口层主要负责提供上下两层的逻辑通信通道,其主要包括:idecorationlayernotify(装饰层通知)、iplayaccompanymusic(伴奏音乐播放)、icapturevideonotify(捕获视频通知)、iplaymediavideo(媒体视频播放)、ipaintphoto(图片绘制)、idesktopvideocb(桌面视频)、icapturevideo(视频捕获)、iaccompanymusic(伴奏音乐)、imediavideo(媒体视频)、imoodmusic(气氛音乐)、idecorationlayer(装饰层)、ivcammanger。其各部分单元模块的分布简化了多媒体接口,降低接口资源的占用。

本领域技术人员应当了解,由于多媒体核心模块代码(vcambiz)越来越混乱和冗余,故通过该应用程序的三个层级的构架使得该应用程序在后续程序的相关维护上更为便捷,实现了一套可扩展的插件化多媒体数据流服务框架。

其中,本发明实施例中,所述视频处理指令和所述音频处理指令对应的操作按键显示于所述辅助直播音视频应用的显示界面。

本发明实施例中,所述辅助直播音视频应通过相关的读取函数获得摄像头采集的原始视频流并将其分解为帧数据,其中帧数据相当于图像,故本发明的对帧数据进行处理相当于对图像的处理。图像的处理又涉及到图像处理技术以及图像识别技术,其中图像处理一般指数字图像处理,主要是对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法。

另外的,本发明实施例中,所述视频算法集主要是包括有视频美白算法、视频特效算法,所述美白算法主要对获取的帧数据中具有的人物特征数据进行算法处理;所述视频特效算法主要是在采集的原始视频流的帧数据中增加主播用户添加的图像数据,并分别叠加至所述帧数据中以实现视频动画的添加,或者是通过改变帧数据的图像参数以实现视频特效的添加;其主要改变的图像参数有:图像分辨率、图像对比度、图像亮度、图像饱和度、图像锐度、图像色温等。

需要说明的是,本发明提供的对原始音频数据的处理和/或是对原始视频数据的处理所运用的方法并不局限于本发明实施例提出的方法,还可以有其他方法,本发明对此不做限制。

s102,对齐所述视频流和音频流的时间戳,生成包含对齐后的视频流和音频流的音视频流数据包。

本发明实施例中,所述对齐所述视频流和音频流的时间戳,具体包括:

获取处理后的所述视频流以及音频流对应的时间戳,并依据获得的时间戳将两者进行时间戳的对齐。所述时间戳是一个字符序列,唯一地标识某一刻的时间,例如主播的开播时间为08:30:00,故原始视频流首帧图像数据以08:30:00为时间戳,原始音频流假设也以08:30:00为时间戳,另外在不改变所述原始视频流对应的帧数据的时间长度和该时间长度下对应原始音频流数据的基础上,假设处理完生成所述视频流和音频流的时间分别为08:30:10和08:30:05,同时将处理完成后的所述视频流和音频流的分别对应的起始位的时间戳标记为08:30:00,故在08:30:05所述音频流数据将暂存于a存储中,当08:30:10所述视频流数据合成完成后将暂存于b存储中,以根据触发的时间戳对齐指令,将所述音频流数据和视频流数据分别由a、b存储中提取出至c存储中以根据标记的时间戳08:30:00进行合成完整的音视频流数据包;其中,还包括另外一种可行方案是将在08:30:05处的所述音频流数据将暂存于a存储中,当08:30:10处的所述视频流数据合成完成后同样暂存于a存储中,并于a存储中合成所述音视频流数据包。

本发明实施例中,图4中本发明的辅助直播音视频应用的工作图,其“现场特效”一栏具有三方面的内容:常用音效、现场动画、动画广播。其中所述常用音效一栏中收集有预先设置的音效数据,其实时获取云端服务器发送的数据更新数据以存储于本地数据库,假设当触控“前奏曲”的控件区域时,该辅助直播音视频应用将下发获取“前奏曲”对应音频数据的获取指令,以依据该获取指令将所述“前奏曲”对应音频数据叠加至直播过程中采集的原始音频流数据中,其主要是将下发所述获取指令时的时间点数据与所述原始音频流数据对应的当前时间数据进行对齐,并在所述原始音频流数据相应对齐的位置处叠加入所述“前奏曲”对应音频数据,以实现音效的叠加。其现场动画的实现手段与音频的实现方式具有异曲同工之处,其主要是获取该动画的动画数据并获取下发该动画数据的提取指令时对应的时间点数据,并在原始视频流数据中该时间点数据与当前时间数据对齐的位置处叠加入该动画数据,以实现现场动画的添加。由此使得本发明同时具备了气氛音的添加、背景音的添加、音效调节以及视频调节的功能,对主播的直播工作提供了更为便利的使用体验。

需要说明的是,本发明提供的音频数据叠加和/或是视频数据叠加所运用的方法以及时间戳的对齐方法并不局限于本发明实施例提出的方法,还可以有其他方法,本发明对此不做限制。

s103,连通所述辅助直播音视频应用与直播应用的跨进程通信通道。

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

本发明实施例中,所述跨进程通信是指在进程间数据传输,即进程间的数据交换。其中所述跨进程通信的方式包括:广播、接口访问、对象访问、共享访问。

以本发明所述辅助直播音视频应用(以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之间的跨进程通信通道。

本发明实施例中,步骤s104还包括:

通过所述直播应用按预置规则将所述音视频流数据包上传到直播服务器。

其中,本发明实施例中,所述预置规则指的是将所述音视频流数据包上传至直播服务器的行为规范,具体过程为将生成检测该音视频流数据包的数据完整性的检测指令,其中该音视频流数据包不仅包含有所述视频流和音频流,还包含有针对直播中主播发送的广播数据以及弹幕数据,当具备有所述广播数据和/或弹幕数据时,将所述广播数据和/或弹幕数据合并至所述音视频流数据包中,在所述音视频流数据包在被执行上传指令时需触发转换指令以将该音视频流数据包转换为适于发送的电信号。

应当理解的是,在本发明实施例中,步骤s101-s104的方法均为通过所述辅助直播音视频应用进行处理的,其中该辅助直播音视频应用通过步骤103连通的所述跨进程通信通道将步骤101和步骤102生成的所述音视频流数据包结合步骤104传输给所述直播应用。

需要说明的是,本发明提供的跨进程通信所运用的方法并不局限于本发明实施例提出的方法,还可以有其他方法,本发明对此不做限制。

请参照图2所示的一种辅助直播的音视频处理装置的实施例结构框图,本发明所述一种辅助直播音视频处理装置包括:

读取处理模块11:用于通过辅助直播音视频应用读取原始视频流和原始音频流;对原始视频流进行处理,得到视频流;对原始音频流进行处理,得到音频流。

本发明实施例中,通过辅助直播音视频应用读取利用摄像头获得的原始视频流和利用声卡获得的原始音频流。

本发明实施例中,所述对原始视频流进行处理,得到视频流,包括:

视频处理单元:用于通过所述辅助直播音视频应用接收用户的视频处理指令,将原始视频流转化为帧数据,根据所述视频处理指令对帧数据进行处理,将处理后帧数据重新组装成视频流。

本发明实施例中,所述视频处理单元包括:

视频算法获取子单元:用于根据所述视频处理指令从视频算法集中获取视频算法,利用视频算法对帧数据进行处理;其中,视频算法集包括视频美白算法、视频特效算法。

本发明实施例中,所述对原始音频流进行处理,得到音频流,包括:

音频处理单元:用于通过所述辅助直播音视频应用接收用户的音频处理指令,根据所述音频处理指令对原始音频流进行处理,得到音频流。

本发明实施例中,所述音频处理单元包括:

音频算法子单元:用于根据音频处理指令从音频算法集中获取音频算法,利用音频算法对原始音频流进行处理;其中,音频算法集包括音频降噪算法、叠加特效算法。

具体的,本发明实施例中,所述视频处理单元还包括:

第一应用层子单元:用于通过所述辅助直播音视频应用的应用程序层接收用户的视频处理指令;

第一接口层子单元:用于通过辅助直播音视频应用的多媒体接口层将视频处理指令传输到辅助直播音视频应用的多媒体服务层;

第一服务层子单元:用于通过多媒体服务层将原始视频流转化为帧数据,根据所述视频处理指令对帧数据进行处理,将处理后帧数据重新组装成视频流。

还有的,所述音频处理单元还包括:

第二应用层子单元:用于通过所述辅助直播音视频应用的应用程序层接收用户的音频处理指令;

第二接口层子单元:用于通过辅助直播音视频应用的多媒体接口层将音频处理指令传输到辅助直播音视频应用的多媒体服务层;

第二服务层子单元:用于通过多媒体服务层根据音频处理指令对原始音频流进行处理,得到音频流。

其中,本发明实施例中,所述视频处理指令和所述音频处理指令对应的操作按键显示于所述辅助直播音视频应用的显示界面。

本发明实施例中,所述辅助直播音视频应通过相关的读取函数获得摄像头采集的原始视频流并将其分解为帧数据,其中帧数据相当于图像,故本发明的对帧数据进行处理相当于对图像的处理。图像的处理又涉及到图像处理技术以及图像识别技术,其中图像处理一般指数字图像处理,主要是对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法。

另外的,本发明实施例中,所述视频算法集主要是包括有视频美白算法、视频特效算法,所述美白算法主要对获取的帧数据中具有的人物特征数据进行算法处理;所述视频特效算法主要是在采集的原始视频流的帧数据中增加主播用户添加的图像数据,并分别叠加至所述帧数据中以实现视频动画的添加,或者是通过改变帧数据的图像参数以实现视频特效的添加;其主要改变的图像参数有:图像分辨率、图像对比度、图像亮度、图像饱和度、图像锐度、图像色温等。

本发明实施例中,所述应用层子单元还包括负责处理业务的主逻辑,包括展示给用户的应用程序主功能界面,以及当用户在使用具体某功能时的界面逻辑展现。所述服务层子单元则主要封装抽离出相关的算法类,包括美白算法类,视频特效算法类,声音降噪算法类等等;具体的算法实现类主要针对输入和输出是什么,从而将应用程序层和多媒体服务层在逻辑上完全隔离开。其中所述应用层子单元和服务层子单元主要是通过接口层子单元实现双向的通信,该接口层子单元主要负责提供上下两层的逻辑通信通道。

需要说明的是,本发明提供的对原始音频数据的处理和/或是对原始视频数据的处理所运用的方法并不局限于本发明实施例提出的方法,还可以有其他方法,本发明对此不做限制。

时间戳模块12:用于对齐所述视频流和音频流的时间戳,生成包含对齐后的视频流和音频流的音视频流数据包。

本发明实施例中,所述对齐所述视频流和音频流的时间戳,具体包括:

获取处理后的所述视频流以及音频流对应的时间戳,并依据获得的时间戳将两者进行时间戳的对齐。所述时间戳是一个字符序列,唯一地标识某一刻的时间,例如主播的开播时间为08:30:00,故原始视频流首帧图像数据以08:30:00为时间戳,原始音频流假设也以08:30:00为时间戳,另外在不改变所述原始视频流对应的帧数据的时间长度和该时间长度下对应原始音频流数据的基础上,假设处理完生成所述视频流和音频流的时间分别为08:30:10和08:30:05,同时将处理完成后的所述视频流和音频流的分别对应的起始位的时间戳标记为08:30:00,故在08:30:05所述音频流数据将暂存于a存储中,当08:30:10所述视频流数据合成完成后将暂存于b存储中,以根据触发的时间戳对齐指令,将所述音频流数据和视频流数据分别由a、b存储中提取出至c存储中以根据标记的时间戳08:30:00进行合成完整的音视频流数据包;其中,还包括另外一种可行方案是将在08:30:05处的所述音频流数据将暂存于a存储中,当08:30:10处的所述视频流数据合成完成后同样暂存于a存储中,并于a存储中合成所述音视频流数据包。

本发明实施例中,图4中本发明的辅助直播音视频应用的工作图,其“现场特效”一栏具有三方面的内容:常用音效、现场动画、动画广播。其中所述常用音效一栏中收集有预先设置的音效数据,其实时获取云端服务器发送的数据更新数据以存储于本地数据库,假设当触控“前奏曲”的控件区域时,该辅助直播音视频应用将下发获取“前奏曲”对应音频数据的获取指令,以依据该获取指令将所述“前奏曲”对应音频数据叠加至直播过程中采集的原始音频流数据中,其主要是将下发所述获取指令时的时间点数据与所述原始音频流数据对应的当前时间数据进行对齐,并在所述原始音频流数据相应对齐的位置处叠加入所述“前奏曲”对应音频数据,以实现音效的叠加。其现场动画的实现手段与音频的实现方式具有异曲同工之处,其主要是获取该动画的动画数据并获取下发该动画数据的提取指令时对应的时间点数据,并在原始视频流数据中该时间点数据与当前时间数据对齐的位置处叠加入该动画数据,以实现现场动画的添加。

需要说明的是,本发明提供的音频数据叠加和/或是视频数据叠加所运用的方法以及时间戳的对齐方法并不局限于本发明实施例提出的方法,还可以有其他方法,本发明对此不做限制。

连通模块13:用于连通所述辅助直播音视频应用与直播应用的跨进程通信通道。

传输模块14:用于通过所述跨进程通信通道将所述音视频流数据包传输给直播应用。

本发明实施例中,所述跨进程通信是指在进程间数据传输,即进程间的数据交换。其中所述跨进程通信的方式包括:广播、接口访问、对象访问、共享访问。

以本发明所述辅助直播音视频应用(以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之间的跨进程通信通道。

本发明实施例中,传输模块14还包括:

上传单元:通过所述直播应用按预置规则将所述音视频流数据包上传到直播服务器。

其中,本发明实施例中,所述预置规则指的是将所述音视频流数据包上传至直播服务器的行为规范,具体过程为将生成检测该音视频流数据包的数据完整性的检测指令,其中该音视频流数据包不仅包含有所述视频流和音频流,还包含有针对直播中主播发送的广播数据以及弹幕数据,当具备有所述广播数据和/或弹幕数据时,将所述广播数据和/或弹幕数据合并至所述音视频流数据包中,在所述音视频流数据包在被执行上传指令时需触发转换指令以将该音视频流数据包转换为适于发送的电信号。

应当理解的是,在本发明实施例中,模块11-14均属于所述辅助直播音视频应用,其中该辅助直播音视频应用通过所述连通模块13的跨进程通信通道将所述读取处理模块11结合所述时间戳模块12生成的所述音视频流数据包利用所述传输模块14传输给所述直播应用。

需要说明的是,本发明提供的跨进程通信所运用的方法并不局限于本发明实施例提出的方法,还可以有其他方法,本发明对此不做限制。

总的来说,本发明利用辅助直播音视频应用读取原始视频流和原始音频流,以针对所述原始视频流和原始音频流进行相关的处理后得到视频流和音频流,进而将该视频流和音频流进行时间戳对齐并生成音视频流数据包,再将该音视频流数据包通过跨进程通信通道传输至直播应用以实现直播,实现了同一应用程序上进行直播音视频的处理操作,省去了来回切换多个直播辅助应用的繁琐操作,降低了设备资源的损耗,很大程度的避免了直播过程卡顿、宕机的现象,提高用户使用体验。

另外的,本发明针对采集的原始视频流和原始的音频流进行了相关的处理,具体是通过接收用户的视频处理指令以获取相关的视频算法,并根据该视频算法对所述原始视频流的帧数据进行处理,以实现视频美化特效及视频人像美白、人物瘦身瘦脸效果添加的目的。相应的,通过接收用户发送的音频处理指令以获取相关的音频算法并根据该音频算法对所述原始音频流进行处理,以实现音频降噪、音效叠加的目的。故在直播效果的丰富上起到了最大程度的跃进,同时实现视频、音频两者的“美化”,进而在直播过程中更加丰富你的直播内容,活跃主播与观众的互动氛围,烘托气氛;使得直播效果更为生动。

此外,本发明利用辅助直播音视频应用对所述原始视频流和原始音频流进行处理后通过请求与直播应用进行通信而连通的跨程序通信通道,通过该通信通道将处理后的所述原始视频流和原始音频流以音视频流数据包传输至直播应用,另外所述直播应用依据预置的规则将所述音视频流数据包上传至直播服务器,其中预置的规则包括将主播预先设置的直播数据打包至所述音视频数据包中一并上传,以实现同步直播的功能,降低内存占用,提高了数据传输的速率,以及保证了直播的流畅程度。

综上所述,本发明实现了同一应用程序上进行直播音视频的处理操作,省去了来回切换多个直播辅助应用的繁琐操作,节省了设备资源的损耗,最大程度的避免了直播设备卡顿、宕机的现象,提高用户使用体验;另外的在直播过程中更加丰富你的直播内容,活跃主播与观众的互动氛围,烘托气氛;使得直播效果更为生动;此外将主播预先设置的直播数据打包至所述音视频数据包中一并上传,以实现同步直播的功能,降低内存占用,提高了数据传输的速率,以及保证了直播的流畅程度。

在此处所提供的说明书中,虽然说明了大量的具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实施例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

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

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