FFMPEG:需要将多个音频流混合到单个立体声

时间:2018-04-17 15:13:58

标签: ffmpeg

我有一个包含2个立体声音频流的输入文件。 我正在尝试使用音频混音创建输出wav文件: 第一个立体声流混合到单个立体声流的左声道 第二立体声流混合到相同立体声流的右声道。 因此输出文件只有一个立体声流。 我尝试了不同的东西,但不清楚如何管理其中的流和渠道。没有找到关于如何做到这一点的例子。

我尝试过使用-filter_complex,amix和amerge过滤器以及-map参数,但我似乎无法找到正确的值组合。

这是我的输入文件:

Input #0,
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  
    creation_time   : 2018-03-20T16:48:32.000000Z
    com.apple.finalcutstudio.media.uuid: 2BE95371-6901-42C7-AB84-6357F53A4592
  Duration: 00:05:40.38, start: 0.000000, bitrate: 32679 kb/s
    Stream #0:0(eng): Video: prores (apco / 0x6F637061), yuv422p10le(bt709, progressive), 1920x1080, 29590 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
    Metadata:
      creation_time   : 2018-03-20T16:48:32.000000Z
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 422 Proxy
      timecode        : 09:59:20:00

Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2018-03-20T16:48:32.000000Z
      handler_name    : Apple Alias Data Handler

Stream #0:2(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2018-03-20T16:48:32.000000Z

1 个答案:

答案 0 :(得分:1)

使用

ffmpeg -i in.mov -filter_complex "[0:a:0]pan=1c|c0=0.5*c0+0.5*c1[left];[0:a:1]pan=1c|c0=0.5*c0+0.5*c1[right];[left][right]amerge[a]" -map 0:v -map "[a]" -c:v copy -c:a pcm_s16le out.mov

每个流都混合为单声道;然后合并为立体声流。

要输出到WAVE,请删除-map 0:v