我知道可以使用命令获取文件的一部分: ffmpeg -ss 00:02:00.000 -i input.mp4“-t 00:00:05.000 out.mp4
但是可以将多个视频与文字和其他效果结合起来吗? 我想从以下
创建输出File1.mp4: 请阅读00:02:00.000至00:02:05.000
File2.mp4 请阅读00:00:00.000至00:01:30.000 插入叠加图片“logo.png”20秒
File3.mp4 插入整个文件 从00:00:10.000到00:00:30.000
插入文字答案 0 :(得分:1)
可以使用FFmpeg来完成,但它实际上并不是一个“编辑器”,因此命令将变得冗长,笨拙且容易出现执行错误,输入剪辑和效果的数量就越多。
尽管如此,一种方法是使用concat过滤器。
ffmpeg -i file1.mp4 -i file2.mp4 -i file3.mp4 -loop 1 -t 20 -i logo.png \
-filter_complex "[0:v]trim=120:125,setpts=PTS-STARTPTS[v1];
[1:v]trim=duration=90,setpts=PTS-STARTPTS[vt2];
[vt2][3:v]overlay=eof_action=pass[v2];
[2:v]drawtext=enable='between(t,10,30)':fontfile=font.ttf:text='Hello World'[v3];
[0:a]atrim=120:125,asetpts=PTS-STARTPTS[a1];
[1:a]trim=duration=90,setpts=PTS-STARTPTS[a2];
[v1][a1][v2][a2][v3][2:a]concat=n=3:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.mp4
我没有指定任何编码参数,如codec或bitrate..etc。假设你熟悉那些。此外,还没有指定overlay或drawtext的位置,如position..etc。请参阅文档以获取相关指南。