FFmpeg 常见命令汇总

官网地址:http://ffmpeg.org/ffmpeg.html

区域截图

ffmpeg -i 视频地址 -vf crop=160:120:0:0 -f image2 文件名.jpeg
  • -vf crop=[宽]:[高]:[左移像素]:[上移像素] 上面可以理解为,从0,0位置开始截取宽高为160*120大小的图
  • -i 视频地址,mp4和rtmp都支持
  • -f image2 表示生成图片格式

图片压缩

ffmpeg -i image.jpg -q 4 out.jpg
  • -q 4 ,压缩级别,越大压缩级别越高

按帧截取图片

1. ffmpeg -i 流地址 -r 1 -q:v 2 -f image2 image-%3d.jpg
2. ffmpeg -i 流地址 -f image2 -vf fps=1/5 -qscale:v 2 ./image/img%04d.jpg
  • -r:帧数,
  • fps=5: 每 1s 取 5 帧 ; fps=1/5: 每 5s 取 1 帧

将图片合成视频

ffmpeg -f image2 -i image%d.jpg output.mp4

视频拼接

ffmpeg -f concat -i filelist.txt -c copy output.mp4

黑屏检测

ffmpeg -loglevel info -i 流地址 -vf blackdetect=2:pic_th=0.08 -f null -
  • pic_th=0.08 表示检测黑屏比例

识别视频中特定图面出现在什么位置

ffmpeg -i 流地址 -loop 1 -i 检测图片.jpg -an -filter_complex "blend=difference:shortest=1,blackframe=99:32" -f null -
  • 参考
  • https://video.stackexchange.com/questions/23641/finding-frames-in-video-that-match-an-image

你可能感兴趣的:(ffmpeg)