这是一个使用 FFmpeg 命令行工具的命令,用于将两个不同的视频文件合并成一个输出文件。命令的详细解释如下:

  • '-i input1.mp4':指定第一个输入文件为 'input1.mp4'。
  • '-i input2.ts':指定第二个输入文件为 'input2.ts'。
  • '-filter_complex '[0:0]setsar=r=1/1,subtitles=input1.ass[v0],[1:0]yadif,scale=w=1280:h=720,setsar=r=1/1,subtitles=input2.ass[v1],[0:1]aresample=44100:async=1[a1],[1:1]aresample=44100:async=1[a0],[v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a]'':使用 'filter_complex' 指令来对输入文件进行复杂的处理。这里的处理包括设置视频像素比(setsar)、添加字幕(subtitles)、去隔行(yadif)、改变视频分辨率(scale)、音频重采样(aresample)和合并视频和音频流(concat)。具体的处理步骤如下:
    • '[0:0]setsar=r=1/1':将第一个视频文件的像素比设置为 1:1。
    • 'subtitles=input1.ass[v0]':在第一个视频文件上添加名为 'input1.ass' 的字幕,并将输出流命名为 'v0'。
    • '[1:0]yadif':对第二个视频文件进行去隔行处理。
    • 'scale=w=1280:h=720,setsar=r=1/1':将第二个视频文件的分辨率改变为 1280x720,并将像素比设置为 1:1。
    • 'subtitles=input2.ass[v1]':在第二个视频文件上添加名为 'input2.ass' 的字幕,并将输出流命名为 'v1'。
    • '[0:1]aresample=44100:async=1[a1]':将第一个视频文件的音频流进行重采样,并设置异步处理。
    • '[1:1]aresample=44100:async=1[a0]':将第二个视频文件的音频流进行重采样,并设置异步处理。
    • '[v0][a0][v1][a1]concat=n=2:v=1:a=1[v][a]':将两个视频流和两个音频流合并成一个输出流,并将输出流命名为 'v' 和 'a'。
  • '-map '[v]'':指定输出文件中的视频流为 'v'。
  • '-map '[a]'':指定输出文件中的音频流为 'a'。
  • '-codec:v libx264':指定使用 'libx264' 编码器来编码视频流。
  • '-codec:a libfdk_aac':指定使用 'libfdk_aac' 编码器来编码音频流。
  • 'output.mp4':指定输出文件名为 'output.mp4'。

总的来说,这个命令可以将两个不同格式的视频文件合并成一个输出文件,并且可以对输入文件进行复杂的处理,如添加字幕、去隔行、改变分辨率等。

FFmpeg 命令合并视频:添加字幕、分辨率调整和音频处理

原文地址: https://www.cveoy.top/t/topic/oE4q 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录