基于MP4文件格式的HTTP实时视频传输方法技术

技术编号:13454660 阅读:61 留言:0更新日期:2016-08-02 17:56
本发明专利技术公开了一种基于MP4文件格式的HTTP实时视频传输方法,包括以下步骤:客户端请求服务器传输实时音视频数据流;服务器检查HTTP请求格式是否有效;还没有启动采集编码则启动编码采集,将H.264视频编码器和AAC音频编码器的参数信息封装到MP4文件头中,将封装好MPEG-4文件头通过HTTP协议发送给客户端;将得到的视频编码数据和得到的音频编码数据封装到MP4文件的影片分片数据块中并发送;停止接收多媒体数据流。本发明专利技术通过将视频编码的H.264码流和音频编码的AAC码流以MP4文件格式封装到多媒体数据流中,通过HTTP协议传输到接收端,由浏览器接收和播放收到的实时的MP4文件的码流。解决了实时音视频在Web应用中无法兼容各种系统各种浏览器的问题。

【技术实现步骤摘要】

本专利技术涉及视频传输
,特别是指基于MP4文件格式的HTTP实时视频传输方法
技术介绍
实时视频在互联网的传输多采用以下几种协议:1:RTP(实时传输协议)主要用于摄像头,视频监控,视频互动。缺点是在web页面要用插件接收数据流。2:RTMP/RTMFPRTMP主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信.RTMFP是Adobe公司开发的一套新的通信协议,主要用来在AdobeFlashPlayer的终端用户之间进行直接通信。包括音频视频数据通信。Web页面要用Flash插件接收数据流,appleios不支持Flash插件。3:HLS(HttpLiveStreaming,http实时流协议)HLS是苹果公司推出的基于http流媒体传输协议,使用MPEG-2的封装音视频压缩数据流。缺点是只有appleios支持,googlechrome支持的不是很好。其他的浏览器不支持。4:其他各类私有协议。出现在各种不同的应用中,都无法简单的嵌入到web页面中。以上的几种的视频传输方案,在接收端都无法实现与所有主流浏览器的兼容,或者需要自定义的插件来实现;在不同的接收端要使用不同的系统和浏览器。
技术实现思路
本专利技术提出一种基于MP4文件格式的HTTP实时视频传输方法,解决了现在的视频传输方案兼容性差的问题,本专利技术的技术方案是这样实现的:>一种基于MP4文件格式的HTTP实时视频传输方法,包括以下步骤:(1)启动HTTP服务器;(2)客户端向服务器发送HTTP请求,请求服务器传输实时音视频数据流;(3)服务器检查HTTP请求格式是否有效,若无效则返回404,或者其他错误数据,关闭连接;否则,进入下一步;(4)若还没有启动采集编码则启动编码采集,将H.264视频编码器和AAC音频编码器的参数信息封装到MP4文件头中,并首先将封装好MPEG-4文件头通过HTTP协议发送给客户端;(5)若已经启动编码采集,则将封装好的MP4文件头通过HTTP协议发送给客户端;(6)将H.264视频编码器得到的视频编码数据和AAC音频编码器得到的音频编码数据封装到MP4文件的影片分片数据块中;(7)将影片分片数据块加载到多媒体数据流中进行发送;(8)停止接收多媒体数据流。进一步的,在步骤(4)中,H.264视频编码器和AAC音频编码器从多媒体源中的视频数据和音频数据进行采集编码,多媒体源包括以路径和文件名表示的标签以及引用计数标识,多媒体源对应N个多媒体数据流,N为整数,N大于等于1。进一步的,MP4文件包括文件类型数据块、影片信息数据块和若干影片分片,文件类型数据块用于指示该MP4文件的应用信息;影片信息数据块用于指示该MP4文件的影片信息;影片分片用于包含音频数据和视频数据。进一步的,文件类型数据块位于MP4文件的开始部位,依次包括1个32位的主标识,1个32位的副版本号和1个以32位为单位元素的公司标识。进一步的,影片信息数据块包括影片头数据块和多媒体轨道数据块;多媒体轨道数据块包括多媒体轨道头数据块和媒体数据块;媒体数据块包括媒体头数据块、管理引用数据块和媒体信息数据块;媒体信息数据块包括视频媒体头数据块、音频媒体头数据块、媒体数据信息块和帧表数据块。进一步的,影片分片包括扩展的影片数据块、影片分片数据块和影片分片随机访问数据块。进一步的,扩展的影片数据块包括扩展的影片头数据块和扩展的多媒体轨道信息;扩展的影片头数据块包括一个用于表示MP4文件的持续时间的fragment_duration字段;扩展的多媒体轨道信息用于描述每个多媒体数据流的分片信息。进一步的,影片分片数据块包括影片分片头数据块和分片的多媒体轨道数据块;分片的多媒体轨道数据块的个数大于等于1,影片分片头数据块包含一个序列号,序列号用于表示影片分片的序号。进一步的,分片的多媒体轨道数据块包括分片的多媒体轨道头数据块、分片的多媒体轨道运行信息数据块。本专利技术的有益效果在于:通过将视频编码的H.264码流和音频编码的AAC码流以MP4文件格式封装到多媒体数据流中,再通过HTTP协议传输到接收端,由浏览器接收和播放收到的实时的MP4文件的码流。解决了音视频在Web应用中无法兼容各种系统各种浏览器的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图,图1为本专利技术基于MP4文件格式的HTTP实时视频传输方法的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围,1、MP4文件格式概述MP4文件中的所有数据都装在box(数据块)中,也就是说MP4文件由若干个box(数据块)组成,每个box(数据块)有类型和长度,可以将box理解为一个数据对象块。box(数据块)中可以包含另一个box(数据块),这种box(数据块)称为containerbox(数据块容器)。一个MP4文件首先会有且只有一个“ftyp”类型的box(数据块),作为MP4格式的标志并包含关于文件的一些信息;之后会有且只有一个“moov”类型的box(数据块),它是一种containerbox(数据块容器),子box包含了媒体的metadata(元数据)信息;MP4文件的媒体数据包含在“mdat”类型的box(MidiaDataBox)中,该类型的box也是containerbox,可以有多个,也可以没有(当媒体数据全部引用其他文件时),媒体数据的结构由metadata(元数据)进行描述。2、基础概念:track(多媒体轨道)表示一些sample(帧)的集合,对于媒体数据来说,track表示一个视频或音频序列。hinttrack(多媒体轨道信息指示)这个特殊的track并不包含媒体数据,而是包含了一些将其他数据track(多媒体轨道)打包成流媒体的指示信息。sample(帧)对于非hinttrack来说,videosample(视频帧本文档来自技高网...

【技术保护点】
一种基于MP4文件格式的HTTP实时视频传输方法,其特征在于,包括以下步骤:(1)启动HTTP服务器;(2)客户端向所述服务器发送HTTP请求,请求所述服务器传输实时音视频数据流;(3)所述服务器检查所述HTTP请求格式是否有效,若无效则返回404,或者其他错误数据,关闭连接;否则,进入下一步;(4)若还没有启动采集编码则启动编码采集,将H.264视频编码器和AAC音频编码器的参数信息封装到MP4文件头中,并首先将封装好MPEG‑4文件头通过HTTP协议发送给客户端;(5)若已经启动编码采集,则将封装好的MP4文件头通过HTTP协议发送给客户端;(6)将所述H.264视频编码器得到的视频编码数据和所述AAC音频编码器得到的音频编码数据封装到所述MP4文件的影片分片数据块中;(7)将影片分片数据块加载到多媒体数据流中进行发送;(8)停止接收所述多媒体数据流。

【技术特征摘要】
1.一种基于MP4文件格式的HTTP实时视频传输方法,其特征在于,包括以下步骤:
(1)启动HTTP服务器;
(2)客户端向所述服务器发送HTTP请求,请求所述服务器传输实时音视频数据流;
(3)所述服务器检查所述HTTP请求格式是否有效,若无效则返回404,或者其他错误数
据,关闭连接;否则,进入下一步;
(4)若还没有启动采集编码则启动编码采集,将H.264视频编码器和AAC音频编码器的
参数信息封装到MP4文件头中,并首先将封装好MPEG-4文件头通过HTTP协议发送给客户端;
(5)若已经启动编码采集,则将封装好的MP4文件头通过HTTP协议发送给客户端;
(6)将所述H.264视频编码器得到的视频编码数据和所述AAC音频编码器得到的音频编
码数据封装到所述MP4文件的影片分片数据块中;
(7)将影片分片数据块加载到多媒体数据流中进行发送;
(8)停止接收所述多媒体数据流。
2.根据权利要求1所述的基于MP4文件格式的HTTP实时视频传输方法,其特征在于,在
步骤(4)中,所述H.264视频编码器和所述AAC音频编码器从多媒体源中的视频数据和音频
数据进行采集编码,所述多媒体源包括以路径和文件名表示的标签以及引用计数标识,所
述多媒体源对应N个多媒体数据流,N为整数,N大于等于1。
3.根据权利要求1所述的基于MP4文件格式的HTTP实时视频传输方法,其特征在于,所
述MP4文件包括文件类型数据块、影片信息数据块和若干影片分片,所述文件类型数据块用
于指示该MP4文件的应用信息;所述影片信息数据块用于指示该MP4文件的影片信息;所述
影片分片用于包含音频数据和视频数据。
4.根据权利要求3所述的基于MP4文件格式的HTT...

【专利技术属性】
技术研发人员:张远明黄敏
申请(专利权)人:互联天下科技发展深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1