有时服务器上的视频文件太大播放不流畅,需要用格式工厂等工具对视频文件进行压缩。但是在压缩后发现用android 和ios 不能远程播放。
经过调查后发现
一般编码工具生成的MP4文件,关键帧的索引数据块(MDAT块)都放在文件最末尾,而在线播放时需要边下载边播放,这样的MP4文件就必须完全下载以后,MDAT块才能被读到,从而开始播放。
建议使用ffmpeg里面自带的qt-quickstart可以将文件的关键帧的索引数据块(MDAT块)都放在文件头部,进而实现远程播放
知乎上的答案:http://www.zhihu.com/question/20727583
qt-quickstart地址:http://ffmpeg.zeranoe.com/builds/qt-faststart/