如何使用 FFmpeg 在单个命令中 trim、裁剪和添加覆盖
How to trim, crop and add overlay in a single command using FFmpeg
我在 android 中使用 FFmpeg 进行视频编辑。我可以使用以下命令 trim、裁剪和添加叠加层:
对于trim:
command = new String[]{"-i",inputVideoFilePath,"-ss","00:00:30.0","-c","copy","-t","00:00:10.0",outputVideoFilePath};
作物:
command = new String[]{"-i",inputVideoFilePath,"-preset", "ultrafast","-filter:v","crop=400:400:0:0","-c:a","copy", outputVideoFilePath};
对于叠加层:
command = new String[]{"-i",inputVideoFilePath, "-i",overlayImagePath,"-preset", "ultrafast","-filter_complex", "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2", "-codec:a", "copy", outputVideoFilePath};
但我无法将这些命令合并为一个命令。
请帮我。
使用
command = new String[]{"-ss", "00:00:30.0", "-t", "00:00:10.0", "-i",inputVideoFilePath,
"-i",overlayImagePath, "-filter_complex",
"[0]crop=400:400:0:0[a];[a][1]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2",
"-preset", "ultrafast", "-codec:a", "copy", outputVideoFilePath};
一个filter_complex允许一个人对不同的输入进行串联或并联的多个过滤操作。
我在 android 中使用 FFmpeg 进行视频编辑。我可以使用以下命令 trim、裁剪和添加叠加层:
对于trim:
command = new String[]{"-i",inputVideoFilePath,"-ss","00:00:30.0","-c","copy","-t","00:00:10.0",outputVideoFilePath};
作物:
command = new String[]{"-i",inputVideoFilePath,"-preset", "ultrafast","-filter:v","crop=400:400:0:0","-c:a","copy", outputVideoFilePath};
对于叠加层:
command = new String[]{"-i",inputVideoFilePath, "-i",overlayImagePath,"-preset", "ultrafast","-filter_complex", "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2", "-codec:a", "copy", outputVideoFilePath};
但我无法将这些命令合并为一个命令。 请帮我。
使用
command = new String[]{"-ss", "00:00:30.0", "-t", "00:00:10.0", "-i",inputVideoFilePath,
"-i",overlayImagePath, "-filter_complex",
"[0]crop=400:400:0:0[a];[a][1]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2",
"-preset", "ultrafast", "-codec:a", "copy", outputVideoFilePath};
一个filter_complex允许一个人对不同的输入进行串联或并联的多个过滤操作。