一种媒体文件直播方法及直播源服务器的制造方法

文档序号:7987207阅读:405来源:国知局
一种媒体文件直播方法及直播源服务器的制造方法
【专利摘要】本申请公开了一种媒体文件的直播方法,包括:从本地或网络读取媒体文件,得到数据源;将媒体文件按照预设的格式进行转码处理,输出符合传输流打包要求的基本流;对音频码流和视频码流进行时间戳同步和重组;将同步和重组处理后的音频和视频码流打包成直播源码流;将打包后的直播源码流发送到网络模块以提供直播服务。本申请将不同文件格式的音频、视频数据经转码、同步和重组后,打包为具有统一音视频属性的直播源码流,从而实现了单个或多个不同格式类型媒体文件的直播,解决各种不同类别直播用户的需求,提高了用户体验。
【专利说明】一种媒体文件直播方法及直播源服务器
【技术领域】
[0001]本申请涉及网络【技术领域】,特别是涉及一种基于本地媒体文件轮播的直播方法及直播服务器。
【背景技术】
[0002]互联网音视频技术的高速发展必然会导致对服务器的要求越来越高。直播技术即是将正在播放的视频信号通过特定的方法推送给客户端,并由客户端的播放器将视频信号转化为可视、可听的视频。目前的直播数据源基本上都是来自视频采集卡采集的电视机、摄像机、录像机等各种视频信号,但对于网络上各种媒体文件格式(如qmv、rmvb> av1、wmv、flv> mp4、mkv、mpeg-ts、mpeg-ps等)却显得有些力不从心。由于这种直播源的局限性,使得各种不同类别的直播用户的需求难以满足。

【发明内容】

[0003]本申请提出了一种可以实现不同格式类型媒体文件直播的方法和直播源服务器。
[0004]根据本申请的第一方面,提供一种媒体文件直播方法,包括:
[0005]从本地或网络读取媒体文件,得到数据源;将媒体文件按照预设的格式进行转码处理,输出符合传输流打包要求的基本流,所述基本流包括音频码流和视频码流;对音频码流和视频码流进行时间戳同步;对音频码流和视频码流的时间戳进行重组;将同步和重组处理后的音频和视频码流打包成直播源码流;将打包后的直播源码流发送到网络模块以提供直播服务。
[0006]所述本地或网络的媒体文件以轮播方式呈现。
[0007]所述将媒体文件按照预设的格式进行转码处理包括:
[0008]解析媒体文件,分离出音频数据和视频数据,对音视频数据进行解码;分别对解析出的音视频数据分别进行后处理,其中音频后处理包括:按照设定的音量和/或声道对解码后的音频数据进行声道转换,并按照设定的采样率对音频数据进行重采样;对进行声道和采样率转换后的音频数据按照设定的编码方式进行重新编码,生成音频码流;其中视频后处理包括:按照设定的参数对解码后的视频数据进行图像处理;将图像处理后的视频数据按照设定的编码方式进行重新编码,生成视频码流。
[0009]所述对音频码流和视频码流进行时间戳同步包括:将音频码流和视频码流的播放时间调整为一致;和将音频码流和视频码流的提交速率调整为和播放速率一致。
[0010]对音频码流和视频码流的时间戳进行重组包括:将多条不连续的音频码流和视频码流的时间戳分别按照播放顺序进行连续重组,形成一条连续的音视频码流。
[0011]所述媒体文件直播方法还包括:根据用户的选择对数据源或直播源码流进行预览。
[0012]所述将同步和重组处理后的音频和视频码流打包成直播源码流为:将时间戳相同的音频码流和视频码流打包到距离在设定范围之内的数据包内。[0013]所述直播源码流为mpeg2_ts流。
[0014]根据本申请的第二方面,提出了一种基于本地媒体文件轮播的直播源服务器,包括:读取模块,用于从本地或网络读取以轮播方式呈现媒体文件,得到数据源;转码模块,用于将媒体文件按照预设的格式进行转码处理,输出符合传输流打包要求的基本流,所述基本流包括音频码流和视频码流;数据提交模块,用于对音频码流和视频码流进行时间戳同步;数据缓冲模块,用于对音频码流和视频码流的时间戳进行重组;打包模块,用于将同步和重组处理后的音频和视频码流打包成直播源码流;网络模块,用于接收打包模块发送的直播源码流数据包,并发送到服务器以提供直播服务。
[0015]所述转码模块包括:分离单元,用于解析媒体文件,分离出音频数据和视频数据;音频解码单元,用于对分离出的音频数据进行解码;音频后处理单元,用于按照设定的音量和/或声道对解码后的音频数据进行声道转换,并按照设定的采样率对音频数据进行重采样;音频编码单元,用于对进行声道和采样率转换后的音频数据按照设定的编码方式进行重新编码,生成音频码流;视频解码单元,用于对分离出的视频数据进行解码;视频后处理单元,用于按照设定的参数对解码后的视频数据进行图像处理;视频编码单元,用于将图像处理后的视频数据按照设定的编码方式进行重新编码,生成视频码流。
[0016]所述视频后处理单元中的图像处理包括根据用户的设置对解码后的视频数据进行缩放、裁剪、加字幕、加标识,画质调节。
[0017]所述直播源服务器获取其所在终端的硬件信息,并根据用户输入的控制指令确定编码方式,并输出到显示器进行显示。
[0018]所述数据提交模块用于将音频码流和视频码流的播放时间调整为一致;和将音频码流和视频码流的提交速率调整为和播放速率一致;所述数据缓冲模块用于将多条不连续的音频码流和视频码流的时间戳分别按照播放顺序进行连续重组,形成一条连续的音视频码流;打包模块用于将时间戳相同的音频码流和视频码流打包到距离在设定范围之内的数据包内。
[0019]本申请将不同文件格式的音频、视频数据经转码、同步和重组后,打包为具有统一音视频属性的直播源码流,从而实现了单个或多个不同格式类型媒体文件的直播,解决各种不同类别直播用户的需求,提高了用户体验。
【专利附图】

【附图说明】
[0020]图1为本申请实施例中的一种媒体文件直播方法的流程图;
[0021]图2为图1中转码过程的一种具体流程图;
[0022]图3为本申请实施例中的一种直播源服务器的模块图;
[0023]图4为图3中转码模块的子模块图。
【具体实施方式】
[0024]下面通过【具体实施方式】结合附图对本申请作进一步详细说明。
[0025]请参考图1所示,本实施例中的一种媒体文件直播方法主要是将不同格式的音视频数据转码为具有统一音视频属性的直播源码流,最后发送至网络模块为用户提供服务的过程,具体包括以下步骤:[0026]步骤Slll:从本地或网络读取媒体文件,得到数据源。在一种实施例中,以本地媒体文件轮播的方式来作为数据源,将不同文件格式的媒体文件以轮播的方式呈现,文件格式可以为各种媒体文件格式,如 qmv、rmvb、av1、wmv、flv、mp4、mkv、mpeg-ts、mpeg-ps 等。
[0027]步骤S121:将媒体文件按照预设的格式进行转码处理,输出符合传输流打包要求的基本流,此处的基本流包括音频码流和视频码流。本发明对不同编码、码率的音视频分别进行解码,再经过视频缩放和音频的重采样、声道转换,然后由统一的编码器进行编码,从而解决了不同编码算法、码率、播放长度、视频帧率、采样率、声道、分辨率的媒体文件的兼容性问题。
[0028]步骤S131:对音频码流和视频码流进行时间戳同步。由于数据链路中音频、视频转码的速率不一样,导致音频、视频数据的时间戳可能不一致,从而造成打包后基本流中的音视频码流不同步的问题,因此必须先对音频码流和视频码流进行时间戳同步。在一种具体实例中,对音频码流和视频码流进行时间戳同步包括:将音频码流和视频码流的播放时间调整为一致。在另一种具体实例中,对音频码流和视频码流进行时间戳同步还可以包括:将音频码流和视频码流的提交速率调整为和播放速率一致。
[0029]步骤S141:对音频码流和视频码流的时间戳进行重组,将多条不连续的音频码流和视频码流的时间戳分别按照播放顺序进行连续重组,形成一条连续的音视频码流。例如,接收到的第一个视频码流的时间戳为从O秒到10秒,接收到的第二个视频码流的时间戳也是从O秒开始,如果按照现有的时间戳,播放时将导致重新开始播放。在本步骤中,将接收到的第一个视频码流和第二个视频码流的时间戳进行重组,接续第一个视频码流的时间戳,将第二个视频码流的时间戳进行重组,从11秒开始。从而在播放时可连续播放。
[0030]步骤S151:将同步和重组处理后的音频和视频码流打包成直播源码流,具体为,将时间戳相同的音频码流和视频码流打包到距离在设定范围之内的数据包内,例如,将时间戳为5的音频码流打包到第3个数据包,将时间戳为5的视频码流打包到第4个数据包,这样使得视频和音频同时到达或间隔很近到达,避免在播放时声音和图像不同步。
[0031]本实施例中,直播源码流为mpeg2_ts流,在另外的实施例中,直播源码流还可以根据需要选择其他的直播源码流。
[0032]步骤S161:将打包后的直播源码流发送到网络模块以提供直播服务。
[0033]在有的实施例中,还可根据用户的选择对直播源码流进行预览。
[0034]进一步的,如图2所示,上述步骤S121中的转码过程具体包括:
[0035]步骤S1211:解析媒体文件,分离出音频数据和视频数据,然后分别对音频数据和视频数据进行处理;
[0036]步骤S1212:解码音频数据;
[0037]步骤S1213:对音频数据进行后处理,包括:按照设定的音量和/或声道对解码后的音频数据进行音量放大和声道转换,并按照设定的采样率对音频数据进行重采样;
[0038]步骤S1214:对进行声道和采样率转换后的音频数据按照设定的编码方式进行重新编码,生成音频码流;
[0039]步骤S1215:解码视频数据;
[0040]步骤S1216:对视频后处理,包括:按照设定的参数对解码后的视频数据进行图像处理,包括图像缩放、锐化、裁剪、去黑边以及画质色彩调节、加字幕,加标签或者加文字公告等处理;
[0041]步骤S1217:将图像处理后的视频数据按照设定的编码方式进行重新编码,生成视频码流;
[0042]在有的实施例中,解码音视频数据之后,还可根据用户的选择对音视频数据源进行预览。
[0043]上述的步骤S1214和S1217中设定的编码方式包括不同的格式文件,例如qmv、rmvb、avi> wmv> flv> mp4、mkv、mpeg-ts、mpeg-ps 等所对应的编码方式。
[0044]图2所示的转码过程中,本地或者网络的媒体文件的源视频数据经过解析后分别输出的音频、视频码流,经过音频、视频解码器解码成未压缩的音视频裸数据,流经预览过滤器。预览过滤器根据用户需求决定是否将音视频裸数据发送到预览模块,并将数据发送到下层进行音频、视频后处理,音频、视频后处理过程根据上层的需求对数据进行相应的处理,并将处理后的音频、视频数据发送至相应的编码器进行编码。
[0045]如图3所示,本实施例的直播源服务器主要包括读取模块101,转码模块102,数据提交模块103,数据缓冲模块104,打包模块105,网络模块106:
[0046]读取模块101用于从本地或网络读取以轮播方式呈现的媒体文件,得到数据源;
[0047]转码模块102用于将媒体文件按照预设的格式进行转码处理,输出符合传输流打包要求的基本流,基本流包括音频码流和视频码流;
[0048]数据提交模块103用于对音频码流和视频码流进行时间戳同步,还用于将音频码流和视频码流的播放时间调整为一致;和将音频码流和视频码流的提交速率调整为和播放
速率一致;
[0049]数据缓冲模块104用于对音频码流和视频码流的时间戳进行重组,还用于将音频码流和视频码流的时间戳分别按照播放顺序进行连续重组;
[0050]打包模块105用于将同步和重组处理后的音频和视频码流打包成直播源码流,还用于将时间戳相同的音频码流和视频码流打包到距离在设定范围之内的数据包内;
[0051]网络模块106用于接收打包模块发送的直播源码流数据包,并发送到服务器以提供直播服务。
[0052]在用户使用时,直播源服务器获取其所在终端的硬件信息,根据用户输入的控制指令确定编码方式,并输出到显示器进行显示。
[0053]如图4所示,转码模块102可细分为8个子模块:
[0054]分离单元1021,用于解析媒体文件,分离出音频数据和视频数据;
[0055]音频解码单元1022,用于对分离出的音频数据进行解码;
[0056]音频后处理单元1023,用于按照设定的音量和/或声道对解码后的音频数据进行声道转换,并按照设定的采样率对音频数据进行重采样;
[0057]音频编码单元1024,用于对进行声道和采样率转换后的音频数据按照设定的编码方式进行重新编码,生成音频码流;
[0058]视频解码单元1025,用于对分离出的视频数据进行解码;
[0059]视频后处理单元1026,用于按照设定的参数对解码后的视频数据进行图像处理,包括根据用户的设置对解码后的视频数据进行缩放、加字幕、加标识、画质调节、图像缩放、锐化、裁剪、去黑边,在其它实施例中,还包括加标识或者文字公告等;[0060]视频编码单元1027,用于将图像处理后的视频数据按照设定的编码方式进行重新编码,生成视频码流。
[0061]本申请对不同编码、码率的音视频分别进行解码,再经过视频缩放和音频的重采样、声道转换,然后由统一的编码器进行编码,最后打包成基本流以送到服务器以提供直播服务;可以兼容市面上主流的媒体文件格式如qmv、rmvb、av1、wmv、flv、mp4、mkv、mpeg-ts、mpeg-ps等的解析;同时解决了不同编码算法、码率、播放长度、视频帧率、采样率、声道、分辨率的媒体文件的兼容性问题:本申请还针对转码后的基本流的音频、视频时间戳进行重组,实现了音频、视频的同步;并能够在直播服务器运行的过程中进行轮播文件播放列表的切换,提闻了用户体验。
[0062]以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属【技术领域】的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干简单推演或替换。
【权利要求】
1.一种媒体文件直播方法,其特征在于,包括: 从本地或网络读取媒体文件,得到数据源; 将媒体文件按照预设的格式进行转码处理,输出符合传输流打包要求的基本流,所述基本流包括音频码流和视频码流; 对音频码流和视频码流进行时间戳同步; 对音频码流和视频码流的时间戳进行重组; 将同步和重组处理后的音频和视频码流打包成直播源码流; 将打包后的直播源码流发送到网络模块以提供直播服务。
2.如权利要求1所述的方法,其特征在于,本地或网络的媒体文件以轮播方式呈现。
3.如权利要求1所述的方法,其特征在于,将媒体文件按照预设的格式进行转码处理包括: 解析媒体文件,分离出音频数据和视频数据,并对音视频数据分别进行解码; 对解析出的音频数据进行后处理,其中音频后处理包括:按照设定的音量和/或声道对解码后的音频数据进行声道转换,按照设定的采样率对音频数据进行重采样; 对进行声道和采样率转换后的音频数据按照设定的编码方式进行重新编码,生成音频码流; 对解析出的视`频数据进行后处理,其中视频后处理包括:按照设定的参数对解码后的视频数据进行图像处理; 将图像处理后的视频数据按照设定的编码方式进行重新编码,生成视频码流; 所述对音频码流和视频码流进行时间戳同步包括:将音频码流和视频码流的播放时间调整为一致;和将音频码流和视频码流的提交速率调整为和播放速率一致; 对音频码流和视频码流的时间戳进行重组包括:将多条不连续的音频码流和视频码流的时间戳分别按照播放顺序进行连续重组,形成一条连续的音视频码流。
4.如权利要求1所述的方法,其特征在于还包括:根据用户的选择对数据源或直播源码流进行预览,所述直播源码流为mpeg2-tS流。
5.如权利要求1至4中任一项所述的方法,其特征在于,将同步和重组处理后的音频和视频码流打包成直播源码流为:将时间戳相同的音频码流和视频码流打包到距离在设定范围之内的数据包内。
6.一种直播源服务器,其特征在于包括: 读取模块,用于从本地或网络读取以轮播方式呈现的媒体文件,得到数据源; 转码模块,用于将媒体文件按照预设的格式进行转码处理,输出符合传输流打包要求的基本流,所述基本流包括音频码流和视频码流; 数据提交模块,用于对音频码流和视频码流进行时间戳同步; 数据缓冲模块,用于对音频码流和视频码流的时间戳进行重组; 打包模块,用于将同步和重组处理后的音频和视频码流打包成直播源码流; 网络模块,用于接收打包模块发送的直播源码流数据包,并发送到服务器以提供直播服务。
7.如权利要求6所述的直播源服务器,其特征在于,转码模块包括: 分离单元,用于解析媒体文件,分离出音频数据和视频数据;音频解码单元,用于对分离出的音频数据进行解码; 音频后处理单元,用于按照设定的音量和/或声道对解码后的音频数据进行声道转换,并按照设定的采样率对音频数据进行重采样; 音频编码单元,用于对进行声道和采样率转换后的音频数据按照设定的编码方式进行重新编码,生成音频码流; 视频解码单元,用于对分离出的视频数据进行解码; 视频后处理单元,用于按照设定的参数对解码后的视频数据进行图像处理; 视频编码单元,用于将图像处理后的视频数据按照设定的编码方式进行重新编码,生成视频码流。
8.如权利要求7所述的直播源服务器,其特征在于:所述视频后处理单元中的图像处理包括根据用户的设置对解码后的视频数据进行缩放、裁剪、加字幕、加标识、画质调节。
9.如权利要求7所述的直播源服务器,其特征在于:所述直播源服务器获取其所在终端的硬件信息,并根据用户输入的控制指令确定编码方式,并输出到显示器进行显示。
10.如权利要求6-9中任一项所述的直播源服务器,其特征在于: 所述数据提交模块用于将音频码流和视频码流的播放时间调整为一致;和将音频码流和视频码流的提交速率调整为和播放速率一致; 所述数据缓冲模块用于将多条不连续的音频码流和视频码流的时间戳分别按照播放顺序进行连续重组,形成一条连续的音视频码流; 打包模块用于将时间戳相同的音频码流和视频码流打包到距离在设定范围之内的数据包内。`
【文档编号】H04N21/236GK103873888SQ201210535149
【公开日】2014年6月18日 申请日期:2012年12月12日 优先权日:2012年12月12日
【发明者】吴维检, 吴治雄, 王云刚 申请人:深圳市快播科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1