ffmpeg进行视频文件转换的笔记

   1、进行图像大小的转换
    下面的语句将CIF大小的视频转换为QCIF的:
    ffmpeg -s cif -i waterfall_cif.yuv -s cif waterfall_qcif.yuv
    2、进行帧速率的转换
    下面的语句将帧速率为25的视频转换为帧速率为5的视频
    ffmpeg -s qcif -r 25 -i foreman_qcif.yuv -s qcif -r 5 foreman_qcif5.yuv
    3、将H.264文件转换为AVI格式
    如果直接使用下面的语句进行文件格式转换:
    ffmpeg -i foreman_qcif.264 foreman_qcif5.avi
转换后的文件将采用MPEG4编码的,在没有安装解码器的机器上是播放不了的。要想变成不压缩的AVI文件,需要使用下面的语句:
    ffmpeg -i foreman_qcif.264 -vcodec rawvideo foreman_qcif5.avi
这样的文件就可以在任何机器上播放了。当然文件有点大。如果用huffyuv替换rawvideo,就是采用无损压缩的AVI格式,不过这种压缩的AVI不是在所有机器上都可以播放的。
4.将比较特殊的UYVY格式的YUV文件转换成无损压缩的avi格式
UYUV格式是一种比较特殊的YUV422格式,在一般情况下不是很常用,但是在监控视频的拍摄中会经常用到。包括三星在内的诸多高端监控摄像机的SDK都只支持直接输出为UYVY格式的视频。为了处理这种格式的视频,我们可以用ffmpeg做如下转换

ffmpeg -s 1280×1024 -f rawvideo -pix_fmt uyvy422 -i input.yuv -vcodec huffyuv output.avi

其中-vcodec huffyuv表示使用无损压缩的方式转换,如果替换成-vcodec rawvideo则会产生无任何压缩的avi视频文件。