FFmpeg进行视频文件转换-学习笔记

此文转至:https://maoxian.de/2013/03/ffmpeg%E8%BF%9B%E8%A1%8C%E8%A7%86%E9%A2%91%E6%96%87%E4%BB%B6%E8%BD%AC%E6%8D%A2%E7%9A%84%E7%AC%94%E8%AE%B0/794.html

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 1280x1024 -f rawvideo -pix_fmt uyvy422 -i input.yuv -vcodec huffyuv output.avi

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

5. 转换纯H.264到MKV或MP4文件

ffmpeg -r 30 -i file.h264 -vcodec copy outputfile.mkv

 

分享到:更多 ()