FFMPEG转码后得到的MP4必须要加载完才能播放的问题
使用videoview时出现提示:**不适合在此设备上播放
但是下载之后又可以播, 百思不解. 还是看下高人的解决方法:
FFMpeg转码由此得到的mp4文件中, meta信息是在文件尾部的, 而 videoview 在没有得到meta信息前不会播放文件, 因此只有等到文件完全下载完视频才会播放. 因此可以使用qt-faststart来把meta信息移到文件头部. 用法: /usr/bin/qt-faststart INPUT OUTPUT
qt-faststart安装方法:
进入FFMpeg安装目录,执行命令:
$ cd ffmpeg
$ ./configure
$ make tools/qt-faststart
$ cp -a tools/qt-faststart /usr/bin/
$ ./configure
$ make tools/qt-faststart
$ cp -a tools/qt-faststart /usr/bin/
这样qt-faststart就安装好了。
假设转码后的文件名字为a.mp4,执行以下命令:
$ /usr/bin/qt-faststart a.mp4 b.mp4
再播放b.mp4就可以边加载边播放了。