之前我们介绍了在线短视频秒播优化的方方面面,从服务器,cdn部署接入,数据连接/获取,客户端缓存,出帧策略,到视频文件I帧位置等。
今天从视频文件格式的另外一个角度介绍,MP4文件的box排列顺序是如何影响,在线短视频的播放以及秒播优化的。
MP4文件中的所有数据都装在box中 (iso-14496-12/14)
(QuickTime中为atom)即mp4是由若干个box组成的
先简单介绍几个重要的box,以便诸位在后续学习时心中有数:
1、 ftyp box,在文件的开始位置,描述的文件的版本、兼容协议等;
2、 moov box,这个box中不包含具体媒体数据,但包含本文件中所有媒体数据的宏观描述信息,moov box下有mvhd和trak box。

mvhd中记录了创建时间、修改时间、时间度量标尺、可播放时长等信息。
trak中的一系列子box描述了每个媒体轨道的具体信息。
3、 moof box,这个box是视频分片的描述信息。并不是MP4文件必须的部分,但在我们常见的可在线播放的MP4格式文件中(例如Silverlight Smooth Streaming中的ismv文件)确是重中之重。
4、 mdat box,实际媒体数据。我们最终解码播放的数据都在这里面。
5、 mfra box,一般在文件末尾,媒体的索引文件,可通过查询直接定位所需时间点的媒体数据。






MP4文件的生成与解析,播放
两个重要的box,moov and mdat
1.生成:先写入mdat后写入moov,因此绝大多数工具都会把moov数据放到mdat后边,比如android的mp4writer,ffmpeg等工具
2.解析:解析播放的时候,先读取moov,才能解析mdat
播放影响
1.本地播放,没有影响,播放软件可以先seek到末尾,读取moov
2.在线播放
(1).需要http服务器支持seek
(2).服务器不支持seek,是个非常不友好的方案,要先把数据下载完成才能播放(无论下载到哪里,新服务器,本地内存或存储)
(3).(1)和(2)多多少少会引入延时,尤其(2),影响秒开



市面上短视频mp4 box排列
抖音,火山等小视频moov排在前边,不用seek;
快手,360等moov排在后边需要seek;
可以看出前者小视频在这方面更专业。
在线短视频MP4 moov box排在后边的解决方案
1.修改文件把moov box排在前面,在MP4在设备上生成的时候或传到服务器上后进行
这个方法一劳永逸,还能提升秒开的速度
工具:
ffmpeg option faststart
qt-faststart



Thanks

在线短视频秒播优化之视频文件格式之MP4文件Moov box的位置相关推荐

  1. 拒绝卡顿,揭秘盒马鲜生 Android 短视频秒播优化方案

    简介:短视频作为内容重要的承载方式,是吸引用户的重点,短视频的内容与体验直接关系到用户是否愿意长时停留.因此,体验的优化就显得尤为重要.上一篇我们分享了 iOS 短视频秒播优化,这篇我们来聊聊 And ...

  2. 为什么要做短视频秒播优化

    最近在整理资料,翻到之前项目答辩ppt,盘了一下. 幸好有个记录,有时候一个事做完后就埋在记忆深处"忘得差不多了". 记录和复盘是个好习惯,好处多多: 1.初衷,事情多了,你就忘了 ...

  3. 视频cdn加速1分钟解决视频播放卡顿问题,开启视频秒播时代!

    1.什么是内容分发网络(cdn)? 内容分发网络(Content Delivery Network),是在现有 Internet 中增加的一层新的网络架构,由遍布全国的高性能加速节点构成.这些高性能的 ...

  4. html5视频优化,HTML5 视频秒开优化

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 前言本文是我部门的一次分享,张鑫旭老师也整理过相应文字版本我在补充下 现在创意 H5 做的堪比电影,传统方式的动画.gi ...

  5. 爱奇艺奇秀直播的秒播体验优化实践

    在视频直播中,首帧渲染速度会直接影响用户体验.想象一下,你兴致勃勃进入了一个爱豆的直播间,进入直播间后迟迟不见直播画面,而是长时间停留在直播间背景图上,这是大多数用户都无法接受的体验. 为了提高用户在 ...

  6. H5页面中的视频轮播(类似于banner轮播图效果)

    先说下我的需求,如下图: 手机模型中间部分是视频播放,当一条视频播放完毕后,整屏会自动上滑切换到下一个视频. 详细效果展示请在PC端点击:http://www.17jianyue.cn/ 查看 提起轮 ...

  7. java如何90度旋转mp4文件,旋转MP4视频的方法

    万兴优转 - 全能视频转换工具箱 将视频转换为1000多种不同的格式,包括MP4,AVI,WMV,FLV,MKV,MOV等. 通过为几乎任何设备选择优化目标来转换视频. 比任何其他传统转换器快30倍. ...

  8. 美拍短视频成本减半及毫秒起播优化实践

    本文是来自美图的黄及峰(阿不)在 GIAC 2018 深圳站分享的美拍短视频优化实践的演讲精华内容. 作者将从成本优化,成功率优化,播放体验优化等几个方面,整体介绍下美拍短视频成本减半以及毫秒起播优化 ...

  9. 华为开发者大会主题演讲:抖音短视频网络性能优化实践

    内容来源:华为开发者大会2021 HMS Core 6 System技术论坛,主题演讲<抖音短视频网络性能优化实践>. 演讲嘉宾:卡涛,抖音Android架构师 大家好!我是来自字节跳动抖 ...

最新文章

  1. 【PC工具】注意安全,建议使用:安全软件,谷歌输入法下载
  2. C语言面试题分享(6)
  3. R中‘ts‘ object must have one or more observations
  4. 25. PE结构-PE详解之资源
  5. vlan跨交换机 udp广播_网络交换VLAN基础入门
  6. Linux环境SOCKET编程5:定时器接口timerfd
  7. 一个发人深省的经典理财故事
  8. 统计学习方法读书笔记11-决策树课后习题
  9. 如何修改PDF文档,怎么编辑PDF背景
  10. 基于Matlab交流异步电机矢量控制系统仿真建模
  11. 项目一实时数仓数据采集
  12. 新会计准则(New Edition of Accounting Standard)
  13. quartz 定时任务调度框架demo
  14. Cisco CCNP课程
  15. 【Unity】打包WebGL项目遇到的问题及解决记录
  16. 计算机的作业与程序,网络提交的计算机程序作业出现抄袭现象的对策探索
  17. 二维码门禁(基于微信小程序)
  18. vue页面的定时刷新
  19. 【论文笔记】A Survey on Federated Learning: The Journey From Centralized to Distributed On-Site Learning a
  20. vue 的computed和watch在什么时候触发

热门文章

  1. 51单片机手把手教学(二)—— 点亮 LED 灯(GPIO 操作)
  2. dlopen / dlsym函数(动态链接库)
  3. android arouter原理和作用,ARouter原理剖析
  4. 电力微气象多要素监测预警装置
  5. 00HTML5学习之互联网与万维网介绍
  6. matlab多面函数拟合法拟合点gps水准数据 格式,拟合内插论文,关于沿海地区GPS水准模型构建相关参考文献资料-免费论文范文...
  7. Java 计算两经纬度间的距离
  8. t3软件怎么生成报表_用友T3如何生成报表
  9. [附源码]Python计算机毕业设计Django家庭医生签约服务管理系统
  10. CC2640R2F蓝牙5片外OAD的实现