基于mp4文件封装格式的多媒体录播系统的制作方法

文档序号:6739427阅读:226来源:国知局

专利名称::基于mp4文件封装格式的多媒体录播系统的制作方法
技术领域
:本发明涉及一种媒体数据处理技术,尤其是涉及一种基于MP4文件封装格式的多媒体录播系统。
背景技术
:目前,大多数录播系统在录播时使用的文件格式是asf,afs(AdvancedStreamingFormat,高级串流格式的缩写)是Microsoft为Windows98所开发的串流多媒体文件格式,是微软公司WindowsMedia的核心,是一种包含音频、视频、图像以及控制命令脚本的数据格式。asf文件格式只有在windows系统上完美的支持,可以用于文件播放和流媒体传输,但是在其它的操作系统和应用上不被广泛的支持,所以使用asf文件格式作为媒体存储和流媒体播放局限性很大。另外,目前大多数录播系统的音频主要是AAC(AdvancedAudioCoding,高级音频编码)音频,AAC音频如果用在asf文件格式中,这种文件微软的媒体播放器MediaPlayer是不能播放的。对于音频、视频文件而言,MP4文件封装格式近来得到较快发展和较为广泛的应用。所述的MP4文件封装格式,对应的标准为IS0/IEC1449612。MP4文件格式作为开放容器,几乎可用来描述所有的媒体结构,目前被广泛用于封装H.264视频和AAC音频,是高清视频的代表。同时,由于受到美国Apple公司产品的支持,使得该格式发展前景较好。而MP4格式非常完美的支持AAC音频,使用微软的播放器MediaPlayer也能正常播放,因此,若能够将各个录播系统的asf格式的多路视频与AAC音频合并后采用MP4文件封装格式进行封装,则将使录播系统输出的音视频文件能够得到更广泛的播放支持。
发明内容本发明提出一种基于MP4文件封装格式的多媒体录播系统,由多媒体录播服务器将多路视频与AAC音频合并后采用MP4文件封装格式进行封装,输出MP4文件。本发明采用如下技术方案实现一种基于MP4文件封装格式的多媒体录播系统,其包括多个的音视频产生设备;在每个音视频产生设备的视频输出端分别连接一个视频编码器,用于对每路视频数据分别进行编码处理;在每个音视频产生设备的视频输出端分别连接一个音频编码器,用于将每路音频数据进行AAC音频编码处理;分别与各个所述视频编码器、所述音频编码器相连的多媒体录播服务器,用于将各路视频数据和音频数据进行合并,按照MP4文件封装格式生成MP4文件。其中,各个所述视频编码器、所述音频编码器分别通过IP网络连接所述多媒体录播服务器。其中,所述多媒体录播系统还包括若干个通过IP网络连接多媒体录播服务器的浏览播放端,用于从多媒体录播服务器获取MP4文件进行浏览播放。其中,所述多媒体录播服务器在将各路视频数据和音频数据在写入MP4文件时,使各路视频数据和音频数据中的时间戳保持同步。其中,所述多媒体录播服务器在将各路视频数据和音频数据写入MP4文件时,在找到MP4文件中的第一个关键帧时才开始写入视频数据和音频数据。其中,所述多媒体录播服务器在将各路视频数据和音频数据写入MP4文件时,从收到的第一个IDR帧之中提取SPS和PPS写到MP4文件中。其中,所述音视频产生设备包括摄像机、视频会议终端、话筒或/和广播设备。其中,所述多媒体录播服务器为流媒体服务器或HTTP服务器。与现有技术相比,本发明具有如下有益效果本发明基于MP4文件封装格式将各路视频数据和音频数据合并生成MP4文件,一方面,使多媒体录播服务器可以不再局限在使用微软的流媒体服务器,还可以使用开源的流媒体服务器或者HTTP服务器,另一方面,由于MP4文件格式是目前较为流行且广发支持的文件格式,从而使得浏览播放端也具有较好的广泛适用性。图I是本发明的系统结构示意图;图2是MP4文件封装格式的部分结构示意图。具体实施例方式如图I所示,本发明提出一种基于MP4文件封装格式的多媒体录播系统,所述多媒体录播系统具体包括多个的音视频产生设备,包括但不限于摄像机11、视频会议终端12、话筒和广播设备;每个音视频产生设备的视频输出端连接一个视频编码器13,由视频编码器13采用H.264HighProfile视频压缩技术对每路视频数据分别进行编码处理,将每路视频数据编码生成标准的RTSP(RealTimeStreamingProtocol,实时流传输协议)媒体流、TS(transportstream,传输流)媒体流,且每个音视频产生设备的音频输出端连接一个音频编码器14,由音频编码器14将每路音频数据进行AAC(AdvancedAudioCoding,高级音频编码)的音频编码处理;每个视频编码器13、音频编码器14分别通过IP网络连接多媒体录播服务器15;由多媒体录播服务器15将一路或多路视频数据、一路或多路音频数据进行合并,按照MP4文件封装格式生成MP4文件;若干个通过IP网络连接多媒体录播服务器15的浏览播放端16,通过IP网络从多媒体录播服务器15获取MP4文件,通过播放器播放MP4文件从而浏览播放来自音视频产生设备的音频数据和视频数据。其中,由多媒体录播服务器15将多路视频数据、音频数据合并处理为MP4文件的过程中,需要注意以下几个部分(I)各路视频数据和音频数据的时间戳保持同步各路视频数据和音频数据在写入MP4文件时需要保持同步,才能确保视频与音频的对应关系。由于音频的时间单位是采样率,在写入时时间要转换为以音频采样率为单位的时间;视频的时间单位可以自己设定,同样根据实际需要进行统一时间转换,以确保各路视频数据在时间上的一致性。(2)防止开始播放MP4时产生花屏现象在将各路视频数据和音频数据写入MP4文件时,需要在找到MP4文件中的第一个关键帧时才开始写入视频数据和音频数据,这样生成的MP4文件能避免一始播放就出现花屏的现象。(3)视频参数集的提取和写入如果视频trak的stsd没有H.264的参数集时播放器不能播放。这时,在收到第一个IDR(InstantaneousDecodingRefresh,即时解码刷新)巾贞时,从IDR巾贞提取SPS(序列参数集,SequenceParameterSet)和PPS(图像参数集PictureParameterSet)写到MP4文件中,这样就解决了H.264不能播放的问题(4)首频/[目息提取和与入当音频为AAC音频时,需要将MP4文件中音频trak的stsd中写入音频特定信息,否则播放时将没有声音在解码音频时,首先解析adts头,提取AAC类型、采样率、声道配置等信息,写入到MP4的stsd中,这样解决了音频不能播放的问题。因此,本发明基于MP4文件封装格式将各路视频数据和音频数据合并生成MP4文件,一方面,使多媒体录播服务器可以不再局限在使用微软的流媒体服务器,还可以使用开源的流媒体服务器或者HTTP服务器,另一方面,由于MP4文件格式是目前较为流行且广发支持的文件格式,从而使得浏览播放端也具有较好的广泛适用性。其中,结合图2所示为本发明MP4文件格式的结构示意图,图中trak可以是任意视频trak或者音频trak。为了帮助了解MP4文件格式并理解本发明,对MP4文件格式做如下介绍MP4文件是指符合IS0/IEC1449612标准的文件,由若干个封装有数据的容器(box)(其中,每个box的结构都是4字节的size,4字节的type,还有一些data数据)组成,具体包括一个MP4文件首先会有且只有一个“ftyp”类型的box,作为MP4格式的标志并包含关于文件的一些信息;之后会有且只有一个“moov”类型的box(电影容器,MovieBox),它是一种内容容器(containerbox),不包含具体媒体数据,但包含本文件中所有媒体数据的宏观描述信息,moovbox下有mvhd和trak这2个子box,其中,mvhdbox中记录了创建时间、修改时间、时间度量标尺、可播放时长等信息,而trakbox(轨道容器)中的一系列子box描述了每个媒体轨道的具体信息;MP4文件的媒体数据包含在“mdat”类型的box(媒体数据容器,MidiaDataBox)中,该类型的box也是containerbox,可以有多个,也可以没有(当媒体数据全部引用其他文件时);在14文件末尾是一个mfrabox,为媒体数据的索引文件,可通过查询直接定位所需时间点的媒体数据。其中,trakbox里面包含三类子box,分别是tkhcUedts和mdia,tkhd主要表述本视频轨或音频轨的一些基本信息,其域与前述的mvhd类似,不过mvhd描述的是整个文件的信息,而tkhd描述是本轨道的信息。edts是一个容器box,里面通过包含子boxelst描述一些编辑片段信息,在文件的定位会有一些用处。trakbox里面最重要的子box就是mdiabox了,这个box也是一个容器box,里面包含mdhcUhdlr和minf三类子box。minfbox里面又分别有vmhd(或smhd)(分别表示视频和音频)、dinf和stbl这三个box中,最重要的信息保存在stblbox中,stblbox可以说是mp4文件中最重要的box了,几乎关于所有核心数据描述都放在这个box里面。stblbox也是一个容器,全称是sampletable。stblbox里面包含对样本(sampIe)进行各种描述的子box。其中,样本(sampIe)是MP4文件数据的基本单位,一个样本就是表示音视频的一帧。stbl里面包含的几类主要的样本容器(samplebox),分别是I、样本时间容器(sttsbox,timetosamplebox),存储了样本的时间信息。Sttsbox能很方便的根据时间标签(timestamp)找到对应的样本,或者获取某个样本对应的时间标签。2、样本关键巾贞容器(stssbox,syncsamplebox),存储了每个关键巾贞的样本ID,根据stssbox能方便的找到当前巾贞最近的关键中贞。3、样本大小容器(stszbox,samplesizebox),stszbox可以描述每个样本的大小。4、样本位置容器(stcobox,chunkoffsetbox),stcobox描述了每个块(chunk)在文件中的绝对偏移位置。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。权利要求1.一种基于MP4文件封装格式的多媒体录播系统,其特征在于,所述多媒体录播系统包括多个的音视频产生设备;在每个音视频产生设备的视频输出端分别连接一个视频编码器,用于对每路视频数据分别进行编码处理;在每个音视频产生设备的视频输出端分别连接一个音频编码器,用于将每路音频数据进行AAC音频编码处理;分别与各个所述视频编码器、所述音频编码器相连的多媒体录播服务器,用于将各路视频数据和音频数据进行合并,按照MP4文件封装格式生成MP4文件。2.根据权利要求I所述基于MP4文件封装格式的多媒体录播系统,其特征在于,各个所述视频编码器、所述音频编码器分别通过IP网络连接所述多媒体录播服务器。3.根据权利要求2所述基于MP4文件封装格式的多媒体录播系统,其特征在于,所述多媒体录播系统还包括若干个通过IP网络连接多媒体录播服务器的浏览播放端,用于从多媒体录播服务器获取MP4文件进行浏览播放。4.根据权利要求I所述基于MP4文件封装格式的多媒体录播系统,其特征在于,所述多媒体录播服务器在将各路视频数据和音频数据在写入MP4文件时,使各路视频数据和音频数据中的时间戳保持同步。5.根据权利要求I所述基于MP4文件封装格式的多媒体录播系统,其特征在于,所述多媒体录播服务器在将各路视频数据和音频数据写入MP4文件时,在找到MP4文件中的第一个关键帧时才开始写入视频数据和音频数据。6.根据权利要求I所述基于MP4文件封装格式的多媒体录播系统,其特征在于,所述多媒体录播服务器在将各路视频数据和音频数据写入MP4文件时,从收到的第一个IDR帧之中提取SPS和PPS写到MP4文件中。7.根据权利要求I所述基于MP4文件封装格式的多媒体录播系统,其特征在于,所述音视频产生设备包括摄像机、视频会议终端、话筒或/和广播设备。8.根据权利要求1-7任何一项所述基于MP4文件封装格式的多媒体录播系统,其特征在于,所述多媒体录播服务器为流媒体服务器或HTTP服务器。全文摘要本发明公开一种基于MP4文件封装格式的多媒体录播系统,其包括多个的音视频产生设备;在每个音视频产生设备的视频输出端分别连接一个视频编码器,用于对每路视频数据分别进行编码处理;在每个音视频产生设备的视频输出端分别连接一个音频编码器,用于将每路音频数据进行AAC音频编码处理;分别与各个所述视频编码器、所述音频编码器相连的多媒体录播服务器,用于将各路视频数据和音频数据进行合并,按照MP4文件封装格式生成MP4文件。本发明使多媒体录播服务器可以使用流媒体服务器或者HTTP服务器,MP4文件格式也使得浏览播放端也具有较好的广泛适用性。文档编号G11C7/16GK102723104SQ20121022981公开日2012年10月10日申请日期2012年7月4日优先权日2012年7月4日发明者廖海,王赟,陈伟申请人:深圳锐取信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1