mp4 流化本质

MP4目前被广泛用于封装h.264视频和AAC音频,是高清视频的代表。 本文提出了基于MP4文件存储格式的高效实时流化技术。 流化的本质就是按顺序提取音视频帧的过程,即计算每个数据帧在文件中的偏移量的问题 。由于MP4文件的音视频帧在文件中的物理位置不是顺序存放,而是以一种相对凌乱的状态存在,若在媒体数据播放的过程中,计算每帧偏移量难以做到高效率。因为计算偏移量是个相对繁琐的过程,要计算多级偏移和很多其他数据。为了解决这个问题,本文提出预处理的方案,即在得到文件元数据信息(metadata)的时候,先不和服务器通信并播放每帧数据,而是预先把每帧数据的大小和相对于媒体文件的偏移地址都计算出来。这样虽然在流媒体播放之前要用一段时间计算数据,但在播放开始之后,将不再进行繁琐的计算偏移量过程。从而提高了MP4文件流化效率。 将计算媒体数据偏移量这块工作拿到客户端来做也是本系统的另外一个特色。对于通常的流媒体系统,服务器做了更多的工作。首先媒体文件一定是存放在服务器端,通过流的方式发送给客户端。既然服务器有媒体文件,所以很自然地利用服务器来做流化。这种方案虽然可行,但在客户机比较多的情况下,服务器的负担将会增大很多,能否有效率地完成流化过程是一个待考虑的问题。相反,每个客户机都是独立的实体,若流化过程能在客户机上实现,则效果会好得多。所以流化MP4模块集成在每个客户机上,在播放前客户与服务器通信一次,拿到媒体元数据信息,然后客户端计算出每帧数据的偏移地址和大小,发给服务器。而服务器实现起来就相对简单,按客户的要求去指定偏移地址的地方取指定大小的数据即可。从这个意义上说,服务器相对“傻瓜化”了。更多的智能工作是分别在各个客户端完成的。 同时本课题对网络流媒体视音频帧的同步、网络传输协议、如HTTP、RTSP、以及基于DirectX构架和Direct Show的媒体播放单元,都提出了两种不同方案,分析比较各自的优劣,最终选定基于HTTP和DirectX的技术方案,完成基于MP4文件格式的流媒体系统开发
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sunxiaopengsun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值