如何使用ffmpeg将6个音频通道转换为一个5.1通道?

时间:2014-01-23 14:09:09

标签: ffmpeg

我有一个pro-res文件,它有6个单声道音频通道。 这是ffmpeg控制台:

    :\test-remapping>ffmpeg -i MelleParadis_PART1_CONSTANTE.mov
ffmpeg version N-60106-ge6d1c66 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jan 22 2014 22:01:26 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 63.100 / 52. 63.100
  libavcodec     55. 49.100 / 55. 49.100
  libavformat    55. 25.101 / 55. 25.101
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     4.  1.100 /  4.  1.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Guessed Channel Layout for  Input Stream #0.1 : mono
Guessed Channel Layout for  Input Stream #0.2 : mono
Guessed Channel Layout for  Input Stream #0.3 : mono
Guessed Channel Layout for  Input Stream #0.4 : mono
Guessed Channel Layout for  Input Stream #0.5 : mono
Guessed Channel Layout for  Input Stream #0.6 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MelleParadis_PART1_CONSTANTE.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 537199360
    compatible_brands: qt
    creation_time   : 2013-11-27 18:58:26
  Duration: 00:07:34.32, start: 0.000000, bitrate: 117742 kb/s
    Stream #0:0(eng): Video: prores (apcn / 0x6E637061), yuv422p10le, 1920x1080,
 113098 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc (default)
    Metadata:
      creation_time   : 2013-11-27 18:58:26
      handler_name    : Gestionnaire dıalias Apple
      timecode        : 01:00:00:00
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16,
 768 kb/s (default)
    Metadata:
      creation_time   : 2013-11-27 18:58:26
      handler_name    : Gestionnaire dıalias Apple
    Stream #0:2(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16,
 768 kb/s (default)
    Metadata:
      creation_time   : 2013-11-27 18:58:26
      handler_name    : Gestionnaire dıalias Apple
    Stream #0:3(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16,
 768 kb/s (default)
    Metadata:
      creation_time   : 2013-11-27 18:58:26
      handler_name    : Gestionnaire dıalias Apple
    Stream #0:4(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16,
 768 kb/s (default)
    Metadata:
      creation_time   : 2013-11-27 18:58:26
      handler_name    : Gestionnaire dıalias Apple
    Stream #0:5(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16,
 768 kb/s (default)
    Metadata:
      creation_time   : 2013-11-27 18:58:26
      handler_name    : Gestionnaire dıalias Apple
    Stream #0:6(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16,
 768 kb/s (default)
    Metadata:
      creation_time   : 2013-11-27 18:58:26
      handler_name    : Gestionnaire dıalias Apple
    Stream #0:7(eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2013-11-27 19:03:46
      handler_name    : Gestionnaire dıalias Apple
      timecode        : 01:00:00:00``

我想将它们转换为一个5.1音频通道

我尝试这行代码:

D:\test-remapping>ffmpeg -i "MelleParadis_PART1_CONSTANTE.mov" -c copy -c:a ac3 -map 0 mlle5.1.mov

控制台回复“没有足够的空间”并停止...... 当然我的硬盘还有一些空间...... 我如何将所有6个单声道流映射到5.1? 提前致谢。 波林

1 个答案:

答案 0 :(得分:2)

来自https://trac.ffmpeg.org/wiki/AudioChannelManipulation

ffmpeg -i front_left.wav -i front_right.wav -i front_center.wav -i lfe.wav -i back_left.wav -i back_right.wav \
-filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a] amerge=inputs=6" output.wav