首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是Fragmented mp4(fMP4)?它与普通的mp4有什么不同?

什么是Fragmented mp4(fMP4)?它与普通的mp4有什么不同?
EN

Stack Overflow用户
提问于 2016-02-03 20:59:34
回答 1查看 62.4K关注 0票数 72

媒体源扩展(MSE)需要在浏览器中播放零碎的mp4。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-03 22:55:22

碎片MP4包含一系列段,如果您的服务器支持字节范围请求,则可以单独请求这些段。

盒子又称原子

所有MP4文件都使用包含boxes aka atoms的面向对象格式。

您可以使用在线工具查看MP4中方框的表示形式,如果您使用的是MP4 Parser,则可以使用MP4 Explorer。让我们来比较一个普通的MP4和一个碎片化的:

非碎片MP4

这个屏幕截图(来自MP4 Parser)显示了一个没有被分割的MP4,并且非常简单地只有一个巨大的mdat (电影数据)框。

如果我们正在构建一个支持自适应比特率的视频播放器,我们可能需要知道0.5 1Mbps和1 1Mbps文件中10秒标记的字节位置,以便在这两个文件之间切换视频源。在每个相应文件中的一个海量mdat中确定这个确切的字节位置不是一件容易的事情。

碎片化MP4

此屏幕截图显示了使用MP4BoxonDemand配置文件进行分段的零碎MP4。

您会注意到sidx和一系列的moof+mdat盒子。sidx是段索引,并且存储moof+mdat段的精确字节范围位置的元数据。

基本上,您可以独立地加载sidx (其字节范围将在附带的.mpd Media Presentation描述符文件中定义),然后选择您希望随后加载并添加到MSE SourceBuffer的段。

重要的是,每个片段都是以您选择的固定间隔创建的(即,每5秒),因此片段可以跨不同码率的文件进行时间对齐,从而在播放过程中轻松调整码率。

票数 154
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35177797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档