官网地址: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
y4m视频下载地址:https://media.xiph.org/video/derf/