这是一个使用 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 -i input1mp4 -i input2ts -filter_complex 00setsar=r=11subtitles=input1assv010yadifscale=w=1280h=720setsar=r=11subtitles=input2assv101aresample=44100async=1a111aresample=44100async=1a0v0a0v1a

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

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