通过如下命令检测moov位置:
# 源视频地址可以是本地文件地址也可以是在线URL,例如:http://pla****.alicdn.com/video/aliyunmedia.mp4
ffmpeg -v trace -i "源视频地址" 2>&1 | grep -e type:\'mdat\' -e type:\'moov\'
正常情况下,moov 在 mdat 之前(即已完成 faststart 优化),示例输出如下。
# ffmpeg -v trace -i sample_faststart.mp4 2>&1 | grep -e type:\'mdat\' -e type:\'moov\'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x54d3b80] type:'moov' parent:'root' sz: 603629 40 231901466
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x54d3b80] type:'mdat' parent:'root' sz: 231297797 603677 231901466
异常情况下,moov在mdat之后。
# ffmpeg -v trace -i sample.mp4 2>&1 | grep -e type:"mdat" -e type:"moov"
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x59e1b80] type:'mdat' parent:'root' sz: 231297797 48 231901466
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x59e1b80] type:'moov' parent:'root' sz: 603629 231297845 231901466