【FFMPEG】用到的命令和注意事项

发布时间 2023-06-23 11:02:25作者: 徐大树
编译安装选项: ./configure --extra-cflags="-fPIC" --enable-nonfree --enable-pic --enable-shared
 
(注意顺序,一般把 -i 写到最后是不会错的)
 
1 把 raw 文件转化为图片, 注意 raw 文件的后缀要正确:
  • ffmpeg -s 4982*1080 -pix_fmt rgba -i out.raw out.png
 
2 把 h264 文件转化成连续的图片
 
3 把 h264 转化为 mp4 文件
  • ffmpeg -i in.avi -f h264 -vcodec libx264 -s 1920x1080 -r 25 out.mp4
 
4 图像和 YUV 互转:
  • ffmpeg -s 360x270 -pix_fmt yuv420p -i  2_test_360x270_50.yuv -pix_fmt rgb24  aaaa.rgb
  • ffmpeg -s 1920*1080 -pix_fmt yuv420p -i a0.yuv a0.png
  • ffmpeg -i 0.ppm -pix_fmt yuv420p a0.yuv
 
5 YUV 转换成 AVI 视频
  • ffmpeg –s w*h –pix_fmt yuv420p –i input.yuv –vcodec mpeg4 output.avi (注意 vcodec 的顺序,在 -i 之后,去掉也可)
  • ffmpeg -s 3840*2160 -vtag YV12 -f rawvideo -i ./record/video.yuv ./record/output.avi (由于 YV12 和 yuv420p 中 uv 的顺序是相反的,ffmpeg 的 -pix_fmt 选项只有 yuv420p,所以,找到了这一条解决办法,可以关注一下 ffmpeg 说明中关于 vtag and atag 的说明)
 
6 视频的旋转和翻转
 
7. 查看编码器的信息
  • ffmpeg -h encoder=h264_nvenc
 
参考网页:
  • https://www.cnblogs.com/dwdxdy/p/3240167.html
 
 
注意事项:
  • 执行 ffmpeg 命令的时候,数据文件的后缀名是十分关键的。比如我有一个存储了rgba格式的文件,如果文件后缀为data.rgba,ffmpeg 怎么都会报无效数据的错误。而改为 data.rgb 就没问题了。ffmpeg -s 1920x1080 -pixel_format rgba -i dat.rgba out.mp4(无效),ffmpeg -s 1920x1080 -pixel_format rgba -i dat.rgb out.mp4(有效),其中 dat.xxx 的文件内容不变!
  • 编码的时候,码率十分的重要。下面是一些参考值: