Android FFMpeg使用同一筛选器_复合体执行多个操作

Android FFMpeg使用同一筛选器_复合体执行多个操作,android,ffmpeg,Android,Ffmpeg,我正在处理2个视频,我想同时进行3个不同的操作 使用FFmpeg执行。每个命令都是独立工作的,但是让它们都在同一执行中运行会更有效率 例如,我有: 视频1 视频2 首先,我想将两个视频从起点剪切到终点: cmd = -i video1Path -ss 00:00:30.0 -c copy -t 00:00:10.0 video1Output cmd = -i video2Path -ss 00:00:30.0 -c copy -t 00:00:10.0 video2Output 而不是调整视频

我正在处理2个视频,我想同时进行3个不同的操作 使用FFmpeg执行。每个命令都是独立工作的,但是让它们都在同一执行中运行会更有效率

例如,我有:

视频1

视频2

首先,我想将两个视频从起点剪切到终点:

cmd = -i video1Path -ss 00:00:30.0 -c copy -t 00:00:10.0 video1Output
cmd = -i video2Path -ss 00:00:30.0 -c copy -t 00:00:10.0 video2Output
而不是调整视频1的大小:

cmd = "-i " + video1Output+ " -vf scale=240:360" + resizedVideo1;
cmd = "-i " + video2Output + " -i " + resizedVideo1 + " -filter_complex [0:v][1:v]" + overlayCmd + " " + finalVideoPath;
现在将调整大小的视频1覆盖在视频2上:

cmd = "-i " + video1Output+ " -vf scale=240:360" + resizedVideo1;
cmd = "-i " + video2Output + " -i " + resizedVideo1 + " -filter_complex [0:v][1:v]" + overlayCmd + " " + finalVideoPath;

我想知道是否有可能在相同的FFMpeg执行中使用1个过滤器来实现所有这些操作…

组合命令将是

ffmpeg -ss 30 -t 10 -i video2 -ss 30 -t 10 -i video1
  -filter_complex
        "[1]scale=240:360[v1];[0][v1]overlay"
  output.mp4

工作完美!是否需要添加-编码的复制属性以避免重新编码?如果使用筛选器,则无法复制。您可以执行
-c:a copy
,因为您没有过滤音频。我是否必须向每个视频输入中添加-c:a copy,或者仅添加我正在使用其音频的视频输入?仅添加一次,并在过滤后添加。