因为要实现mp4文件在apache下用mp4模块的伪流传输播放。
于只能用mp4文件,就涉及到了视频转换的知识。
还好官网给出了转换的命令,见:http://h264.code-shop.com/trac/wiki/Encoding
将以下脚本保存为一个.sh文件, 如start.sh,保存好之后每次只需执行该文件即可,如: ./start.sh
需要注意一下 qt-faststart "$tmpfile" "$outfile" qt-faststart这个参数有的人可能没有装,所以需要手动安装一下。
进入ffmpeg安装目录(如:~/home/ubuntu/ffmpeg)执行以下命令:
cd tools
cc qt-faststart.c -o qt-faststart
sudo cp qt-faststart /usr/bin
所有工作准备就绪后,那么我们的问题也随之来了:
同样的命令,对于同样格式的不同文件,有的可以转,有的不能转..
对比了一下inputfile文件的参数
可以转的文件:
Stream #0.0: Video: mpeg4, yuv420p, 640x272 [PAR 1:1 DAR 40:17], 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0.1: Audio: mp3, 48000 Hz, 2 channels, s16, 224 kb/s
不可以转的文件:
Stream #0.0: Video: mpeg4, yuv420p, 640x272 [PAR 1:1 DAR 40:17], 25 tbr, 25 tbn, 25 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s