常用的ffmpeg指令(字幕、水印)
常用指令
使用指令可以让我们快速上手使用ffmpeg这个软件,经过前面的安装,已经能够正常使用ffmpeg了,通过命令行或java中的Process相关类,我们就可以实现自动的ffmpeg处理视频或者图片.
添加水印
在固定的位置添加水印
ffmpeg -i test.mp4 -i test.png -filter_complex “overlay=10:10” watermark.mp4
在test.mp4左上角10,10的位置添加水印图片test.png,同时在根目录产出一个watermark.mp4的视频
自适应添加水印
ffmpeg -i test.mp4 -i test.png -filter_complex “overlay=x=main_h-10:main_w-10” watermark.mp4
在test.mp4距离右下角10,10的位置添加水印,main_h代表视频的高度,main_w代表视频的宽度
添加两个水印,10秒交替出现
ffmpeg -i /root/test.mp4 -i /root/videoProcessing/youtube/test.png -i /root/test.png -filter_complex “overlay=x=if(lt(mod(t,20),10),10,NAN ):y=10,overlay=x=if(gt(mod(t,20),10),main_w-273,NAN ) :y=main_h-113,subtitles=/root/test.srt :force_style=‘Fontsize=14’” /root/test3.mp4
添加两个水印,overlay=x=if(lt(mod(t,20),10),10,NAN ):y=10,overlay=x=if(gt(mod(t,20),10),main_w-273,NAN ) 这两个使用了函数,代表是交替出现水印。
mod(t,20)代表当前时间对20进行取模;
lt(a,b)表示的是a<b,则为true
if(true,a,b)表示的是如果为true,则返回a,否则返回b
ps:如果需要在程序中进行命令行的拼接,一定要记得转义,否则会报错。
添加字幕
给视频添加一个字幕
ffmpeg -i test.mp4 -vf subtitles=test.srt output.mp4
给test.mp4添加字幕并产出成output.mp4
修改视频的分辨率和长宽比
ffmpeg -i test.mp4 -aspect 16:9 -vf scale=1280:720 output.mp4
将视频格式化成长宽比为16:9的1280*720的格式化视频
同时为视频添加水印和字幕
ffmpeg -i test.mp4 -i test.png -filter_complex “overlay=x=main_w-273:y=main_h-113,subtitles=test.srt:force_style=‘Fontsize=11’” output.mp4
给test.mp4添加字幕和水印,同时字幕字体的大小为11px,如果还需要设置字幕的位置,字体,阴影等可以直接在Fontsize=11后面直接拼接即可。Shadow=0,MarginV=20代表阴影为1,距离下边距为20px