ffmpeg常用命令

根据关键帧将视频分割成多段

ffmpeg -i INPUT.mp4 -acodec copy -f segment -vcodec copy -reset_timestamps 1 -map 0 OUTPUT%d.mp4

ffmpeg 转 webp 动图:https://www.jianshu.com/p/5bb3e54a7bb9

crf默认的值是23,范围是0-51,保证质量的情况下低于20,值越低画质越好。-preset 2 ,值越低越快,默认是5

修改视频封面
ffmpeg -i he.mp4 -i fengmian.jpg -map 1 -map 0 -c copy -disposition:0 attached_pic -y fff.mp4

裁剪区域(从0,0开始) 帧率30 码率500k -y 强制覆盖
ffmpeg -y -i 11.mp4 -vf crop=500:500:x:y -r 30 -b 500k cut2.mp4
x、y标记输入视频中的某点,将该点作为基准点,向右下进行裁剪得到输出视频。
如果x y不写的话,默认居中剪切

剪切:-ss 开始时间,单位秒;-t duration
ffmpeg -y -i mei.mp4 -ss 0 -t 10 33.mp4

倒序播放
ffmpeg -y -i %s -vf reverse %s

视频压缩:2.0 与 0.5 互为反数
ffmpeg -y -i 33.mp4 -filter_complex [0:v]setpts=2.0*PTS[v];[0:a]atempo=0.5[a] -map [v] -map [a] 34.mp4

清除元数据
ffmpeg -i old.mp3 -map_metadata -1 new.mp3

提取关键帧
ffmpeg -i saoguang.mp4 -vf select='eq(pict_type\,I)' -vsync 2 -s 544*960 -f image2 core-%02d.jpeg


设置亮度、对比度、饱和度和近似伽马(gamma)调整
滤镜支持下面选项:
contrast
设置contrast表达式,值必须是一个-2.0-2.0间的浮点数,默认为0
brightness
设置brightness表达式.值必须是一个-1.0-1.0间的浮点数,默认为0
saturation
设置saturation表达式. 值必须是一个0-3.0间的浮点数,默认为1
ffmpeg -y -i 11.mp4 -vf eq=contrast=0.9:brightness=0.1:saturation=3 out.mp4
gamma
设置gamma表达式 ,值必须是一个0.1-10.0间的浮点数,默认为1
ffmpeg -y -i 11.mp4 -vf eq=gamma=3 out.mp4


图片转视频
ffmpeg -f image2 -i /home/ttwang/images/image%d.jpg -vcodec libx264 -r 10 tt.mp4
ffmpeg -f image2 -r 1 -i image-%3d.jpg -vcodec mpeg4 -b:v 921600 -y tt.mp4
-r 10 表示定义帧率为10,这样输出的视频就是每秒播放十帧


添加透明水印
http://blog.chinaunix.net/uid-11344913-id-5576786.html

模糊处理 (1.5为半径)
ffmpeg  -i  input.mpg  -vf  boxblur=1.5:1  output.mp4

视频降噪
ffmpeg  -i  input.mpg  -vf  hqdn3d  output.mp4

添加图片水印
ffmpeg -y -i y.mp4 -i lan.jpg -filter_complex overlay=0:400 yy.mp4

第一个视频和第二个音频合并,时长以短的为主
ffmpeg -y -i 11.mp4 -i saoguang.mp4 -map 0:v -map 1:a -c copy -shortest 34.mp4

旋转1度
ffmpeg -y -i out_gamma.mp4 -filter_complex rotate=1*PI/180 rotate.mp4

水平画面拼接(垂直:vstack)
ffmpeg -y -i %s -i %s -filter_complex hstack %s

视频尺寸调整,等比时宽填-1,不等比时填写完整尺寸
ffmpeg -i %s -vf scale=800:-1 test.mp4

保持原视频画面比例 自动添加黑边
例如源是1280*528要转成640*480要保持画面比例实际上应该640*264 所以需要在上下都加黑边
ffmpeg -i d:/Media/e.f4v -vf "scale=640:264,pad=640:480:0:108:black" d:/Media/demo.ts
pad: “宽”、“高”、“X坐标”和“Y坐标”,宽和高指的是输入视频尺寸(包含加黑边的尺寸),XY指的是视频所在位置

毛玻璃效果
1.ffmpeg -i cut_duration.mp4 -vf “split[a][b];[a]scale=720:1280,boxblur=25:5[1];[b]scale=720:ih*720/iw[2];[1][2]overlay=0:(H-h)/2” -c:v libx264 -crf 18 -preset veryfast -aspect 9:16 -f mp4 output.mp4 -y
2.ffmpeg -i input.mp4 -vf “split[a][b];[a]scale=1080:1920,boxblur=10:5[1];[b]scale=1080:ih*1080/iw[2];[1][2]overlay=0:(H-h)/2” -c:v libx264 -crf 18 -preset veryfast -aspect 9:16 -f mp4 output.mp4 -y

视频左右反转(上下反转vflip)
ffmpeg -i ruihua2.mp4 -vf hflip fanzhan3.mp4

添加文字
https://www.cnblogs.com/yongfengnice/p/7127787.html
ffmpeg -i x4_jiangzao.mp4 -vf drawtext=text="ha ha ha":x=(w-tw)/2:y=16:fontcolor=black:fontsize=50 x5_font.mp4

视频叠加并设置透明度
ffmpeg -i a2.mp4 -i a3.mp4 -filter_complex [0:v]format=yuva444p,colorchannelmixer=aa=0.5[valpha];[1:v][valpha]overlay=(W-w)/2:(H-h)/2 -ss 0 -t 5 -y overlay4.mp4

单个视频画中画
ffmpeg -i xiaohuo.mp4 -i xiaohuo.mp4 -filter_complex "[1]scale=620:1180[pip];[0][pip]overlay=main_w-overlay_w-50:main_h-overlay_h-50" -y -crf 18 -max_muxing_queue_size 1024 out.mp4

1.hue:调整视频色调、饱和度、亮度

h:色调角度度数(0到360),默认值为0
s:饱和度(-10到10),默认值为1
b:亮度(-10到10),默认值为0
命令格式:ffmpeg -i 源视频地址 -vf hue=s=1:b=1:h=90 -b 输出比特率 输出视频地址
使用例子:ffmpeg -i d:\2.flv -vf hue=b=1 -b 600k d:\outTemp.flv(调整饱和度)

你可能感兴趣的:(ffmpeg常用命令)