ffmpeg处理命令较多,但在指定时间处理的比较少,做个记录分享。
合成文字命令
ffmpeg -i old.mp4 -vf "drawtext=fontfile=simhei.ttf: text=‘aaaaa’:x=500:y=100:fontsize=40:fontcolor=white:shadowy=2:enable=between(t\,2\,8):box=1:boxcolor=green" new.mp4
说明
fontfile 字体文件
x,y 坐标
fontsize 大小
fontcolor 字体颜色
box 是否显示背景
boxcolor 背景颜色
text 文本
enable=between 时间点
合成图片命令
ffmpeg -i in.mp4 -i waterMark.jpg -filter_complex "overlay=10:150:enable='between(t,5,10)'" out3.mp4
说明:
in.mp4 视频
waterMark.jpg 水印图片
overlay=10:150 x y坐标(左上角 0,0起点) overlay:还可以设置屏幕中间座位起点,默认左上角
between(t,5,10) 开始时间结束时间 单位s
out3.mp4 输出文件名称
合成MP3命令
ffmpeg -i in.mp4 -i test.mp3 -i test.mp3 -i test.mp3 -filter_complex "[1]adelay=10s[a1];[0][a1]amix=2" -c:v copy output3.mp4
说明:
in.mp4 视频
test.mp3 音频
[1]adelay=10s[a1] :10s合入时间为第10s 也可以采用毫秒计算
例如->: [1]adelay=10000[a1] a1 是我们自己命名
[0][a1]amix=2 : [0]表示 mp4 ,[a1] 就是我们的第一路音频
名称可以自己修改 修改后要对齐 2 表示这两组数据
output3.mp4 输出文件名称
可以同时合成多路mp3
ffmpeg -i in.mp4 -i test.mp3 -i test1.mp3 -filter_complex "[1]adelay=3s[a1];[2]adelay=10s[a2];[0][a1][a2]amix=3" -c:v copy output3.mp4
说明:参考单路合成规则,多路合成添加对应文件 即可