ffmpeg常用命令

# 视频中抽帧存图, -r 每秒产生的帧数(置空则全转), -q:v 2 高质量, -s 宽x高
ffmpeg -i input.avi -r 1 -q:v 2 -s WxH -f image2 pic-%03d.jpeg
# 获取视频的信息
ffmpeg -i input.avi
# 将图片序列合成视频, -r 生成视频的帧, -b 码率 bit单位, -vcodec 编码格式
ffmpeg -f image2 -i pic-%03d.jpeg -vcodec xvid -r 30 -b:v 8000k test.mp4
# 转化视频格式, -acodec 音频编码, -ac 声道数, -ar 声音采样率(选择32、64、96、128),
# -ab 声音比特率(建议160k以上), -vol 音量扩大倍数, 如200%, -threads 设置线程数,对部分格式的编码有效
ffmpeg -threads 4 -i source_video.avi -b:v 8000k -s 320x240 -ab 32 -ar 24000 -acodec aac -vol 200 final_video.mp4


# 图像resize
ffmpeg -i input.jpg -vf scale=320:240 output_320x240.png # fixed aspect ratio
ffmpeg -i input.jpg -vf scale=320:-1 output_320.png # keep aspect ratio
ffmpeg -i input.jpg -vf scale=iw*2:ih input_double_width.png # iw, ih input width and height
ffmpeg -i input.jpg -vf scale=iw*.5:ih*.5 input_half_size.png # 0.5 input width height
ffmpeg -i input.jpg -vf scale=w=320:h=240:force_original_aspect_ratio=decrease output_320.png # keep ratio but given a max box

#每秒抽一帧

time ffmpeg -i ./test.avi -q:v 1 -vf select='not(mod(n\,1))',setpts=N/TB -r 1 %08d.jpg

//处理视频M1.mp4, 不需要旋转

ffmpeg -y -i " M1.mp4" -vcodec libx264 -b 1024000 -s 320x180 -acodec copy " M1_cp.mp4"

//处理视频M2.mp4,逆时针旋转90

ffmpeg -y -i " M2.mp4" -vf transpose=2 -vcodec libx264 -b 1024000 -s 320x180 -acodec copy -metadata:s:v:0 rotate=90 " M2_cp.mp4"

//处理视频M3.mp4,旋转180

ffmpeg -y -i " M3.mp4" -vf vflip,hflip -vcodec libx264 -b 1024000 -s 320x180 -acodec copy -metadata:s:v:0 rotate=180 " M3_cp.mp4"

//处理视频M4.mp4,逆时针旋转270(或者顺时针旋转90)

ffmpeg -y -i "M4_cp.mp4" -vf transpose=1 -vcodec libx264 -b 1024000 -s 320x180 -acodec copy -metadata:s:v:0 rotate=270 "M4_cp.mp4"

原文地址:https://www.cnblogs.com/ruichenduo/p/7686139.html