FFmpeg常用命令

拼接图片

# 10张图片横向合并
ffmpeg -y -i e:\img\%02d.webp -filter_complex tile=10x1 e:\img\new.jpg

截取图片

# 截取第15帧的图片
ffmpeg -y -i e:\video\video.mp4 -vframes 15 -f image2 e:\img\video.png
# 截取第1分50秒的图片
ffmpeg -y -i e:\video\video.mp4 -vframes 1 -q:v 2 -f image2 -ss 00:01:50 e:\img\video.png
# 从第15秒开始以每秒截取7张图片的速度,截取5秒时长的图片[5*7=35张]
ffmpeg -y -i e:\video\video.mp4 -r 7 -ss 00:00:15 -t 00:00:05 e:\img\video-%05d.png
# 每1秒截取3张,截取7秒时长的图片
ffmpeg -y -i e:\video\video.mp4 -r 3 -t 00:00:07 e:\img\video-%3d.png
# GIF动图 (从55秒截取到67秒)
ffmpeg -y -i e:\video\video.mp4 -ss 55 -t 67 -f gif e:\img\mpic.gif
# 截取微缩图 第8秒350x240
ffmpeg -y -i e:\video\video.mp4 -f image2 -ss 8 -t 0.001 -s 350x240 e:\img\cover.png

视频切片

# 每段10秒
ffmpeg -y -i e:\video\video.mp4 -codec:v libx264 -codec:a mp3 -map 0 -f ssegment -segment_format mpegts -segment_list e:\video\m\playlist.m3u8 -segment_time 10 e:\video\m\ts-%03d.ts

视频转码

# 转mp4
ffmpeg -y -i e:\video\video.avi -codec:v libx264 -absf aac_adtstoasc e:\video\tomp4.mp4
# 转ts
ffmpeg -y -i e:\video\tomp4.mp4 -codec:v libx264 -codec:a mp3 e:\video\tots.ts
# 转avi
ffmpeg -y -i e:\video\tots.ts -f avi -vcodec msmpeg4 -acodec mp3 e:\video\toavi.avi
# 转flv
ffmpeg -y -i e:\video\toavi.avi -ab 56 -ar 22050 -qmin 2 -qmax 16 -b 320k -r 15 e:\video\toflv.flv
# 其他
ffmpeg -threads 0 -i e:\video\toflv.flv -c copy -y -bsf:a aac_adtstoasc e:\video\toxxx.xxx

视频水印

# 加水印位置 overlay=W-w:0 overlay=W-w overlay=0:H-h overlay=W-w:H-h
ffmpeg -i e:\video\video.mp4 -i e:\img\lang.png -filter_complex [1:v]scale=-1:50[img1];[0:v][img1]overlay=W-w:0 -codec:v libx264 -codec:a mp3 e:\video\enlogo.mp4
# 去除水印
ffmpeg -y -i e:\video\enlogo.mp4 -vf delogo=0:0:55:55:100:0 e:\video\delogo.mp4


打赏