Open yaoxc opened 6 years ago
这个MP4文件结构比较特殊
在ftyp box之后有好几十个mdat box用来存储数据,然后表明音视频编码信息的moov box又在文件最后
常见的mp4文件中只有一个mdat box来存储数据,这样即使moov box在文件尾时,也可以通过mdat box的大小迅速定位到moov box的位置,然后通过新的http请求直接获取moov box数据来解析数音视频的编码格式
但是这个视频因为有很多个mdat box,无法迅速定位到moov box的位置,只能在所有数据全部下载下来之后才能拿到moov box来解析出音视频编码格式,这样因为需要下载大量的数据导致开播慢
暂时在播放端无法解决此问题,可以尝试对这种MP4文件进行一次处理,将moov box放到文件前面的部分就可以正常迅速开播了,或者找视频的生成方,不要生成这种结构的文件
moov前置可以使用一个叫做MP4Box的pc端命令行工具,执行mp4box -inter 10000 test.mp4
命令后即可
测试的视频链接: http://static-wlx.oss-cn-beijing.aliyuncs.com/712dbba6-12fe-4d50-b910-5687c46b85f1.mp4