FFmpeg — преобразование FLAC 6.1 в AAC 5.1

Я не могу понять, как это сделать. Я смотрел на эти команды: https://trac.ffmpeg.org/wiki/AudioChannelManipulation

Но безрезультатно. К сожалению, это немного выше моего уровня. Вот вывод ffmpeg -i для рассматриваемого видео:

ffmpeg version N-64012-g61df081 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jun 16 2014 22:01:59 with gcc 4.8.3 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex--enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
  libavutil      52. 89.100 / 52. 89.100
  libavcodec     55. 67.100 / 55. 67.100
  libavformat    55. 43.100 / 55. 43.100
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4.  8.100 /  4.  8.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, matroska,webm, from '[Coalgirls]_Spirited_Away_(1920x1038_Blu-ray_FLAC)_[92372194].mkv':
  Metadata:
    title           : Spirited Away
    encoder         : libebml v1.3.0 + libmatroska v1.4.0
    creation_time   : 2014-07-03 01:32:13
  Duration: 02:04:32.29, start: 0.000000, bitrate: 15972 kb/s
    Chapter #0.0: start 0.000000, end 99.099000
    Metadata:
      title           : 00:00:00.000
    Chapter #0.1: start 99.099000, end 196.238000
    Metadata:
      title           : 00:01:39.099
    Chapter #0.2: start 196.238000, end 443.526000
    Metadata:
      title           : 00:03:16.238
    Chapter #0.3: start 443.526000, end 645.395000
    Metadata:
      title           : 00:07:23.526
    Chapter #0.4: start 645.395000, end 1023.022000
    Metadata:
      title           : 00:10:45.395
    Chapter #0.5: start 1023.022000, end 1368.534000
    Metadata:
      title           : 00:17:03.022
    Chapter #0.6: start 1368.534000, end 1716.048000
    Metadata:
      title           : 00:22:48.534
    Chapter #0.7: start 1716.048000, end 2008.173000
    Metadata:
      title           : 00:28:36.048
    Chapter #0.8: start 2008.173000, end 2301.674000
    Metadata:
      title           : 00:33:28.173
    Chapter #0.9: start 2301.674000, end 2651.816000
    Metadata:
      title           : 00:38:21.674
    Chapter #0.10: start 2651.816000, end 2906.821000
    Metadata:
      title           : 00:44:11.816
    Chapter #0.11: start 2906.821000, end 3271.351000
    Metadata:
      title           : 00:48:26.821
    Chapter #0.12: start 3271.351000, end 3729.017000
    Metadata:
      title           : 00:54:31.351
    Chapter #0.13: start 3729.017000, end 4091.587000
    Metadata:
      title           : 01:02:09.017
    Chapter #0.14: start 4091.587000, end 4476.847000
    Metadata:
      title           : 01:08:11.587
    Chapter #0.15: start 4476.847000, end 4750.579000
    Metadata:
      title           : 01:14:36.847
    Chapter #0.16: start 4750.579000, end 5139.760000
    Metadata:
      title           : 01:19:10.579
    Chapter #0.17: start 5139.760000, end 5478.890000
    Metadata:
      title           : 01:25:39.760
    Chapter #0.18: start 5478.890000, end 5853.806000
    Metadata:
      title           : 01:31:18.890
    Chapter #0.19: start 5853.806000, end 6318.937000
    Metadata:
      title           : 01:37:33.806
    Chapter #0.20: start 6318.937000, end 6625.118000
    Metadata:
      title           : 01:45:18.937
    Chapter #0.21: start 6625.118000, end 6771.098000
    Metadata:
      title           : 01:50:25.118
    Chapter #0.22: start 6771.098000, end 6914.199000
    Metadata:
      title           : 01:52:51.098
    Chapter #0.23: start 6914.199000, end 7253.580000
    Metadata:
      title           : 01:55:14.199
    Chapter #0.24: start 7253.580000, end 7472.288000
    Metadata:
      title           : 02:00:53.580
    Stream #0:0: Video: h264 (High 10), yuv420p10le(tv, bt709), 1920x1038, SAR 1:1 DAR 320:173, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Metadata:
      title           : Spirited Away
    Stream #0:1(jpn): Audio: flac, 48000 Hz, 6.1, s32 (default)
    Metadata:
      title           : 6.1 FLAC
    Stream #0:2(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Metadata:
      title           : 5.1 AC3
    Stream #0:3(fre): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Metadata:
      title           : 5.1 AC3
    Stream #0:4(ger): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Metadata:
      title           : 5.1 AC3
    Stream #0:5(fin): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : 2.0 AC3
    Stream #0:6(kor): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Metadata:
      title           : 5.1 AC3
    Stream #0:7(chi): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Metadata:
      title           : 5.1 AC3
    Stream #0:8(chi): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Metadata:
      title           : 5.1 AC3
    Stream #0:9(eng): Subtitle: ssa (default)
    Metadata:
      title           : English
    Stream #0:10(fre): Subtitle: ssa
    Metadata:
      title           : French
    Stream #0:11(ger): Subtitle: ssa
    Metadata:
      title           : German
    Stream #0:12(eng): Subtitle: ssa
    Metadata:
      title           : Songs + Signs
    Stream #0:13: Attachment: ttf
    Metadata:
      filename        : MyriadPro-Regular.otf
      mimetype        : application/x-truetype-font
    Stream #0:14: Attachment: ttf
    Metadata:
      filename        : MyriadPro-SemiboldIt.otf
      mimetype        : application/x-truetype-font
    Stream #0:15: Attachment: ttf
    Metadata:
      filename        : Vesta-Bold.otf
      mimetype        : application/x-truetype-font
    Stream #0:16: Attachment: ttf
    Metadata:
      filename        : Vesta-Bold_2.otf
      mimetype        : application/x-truetype-font
    Stream #0:17: Attachment: ttf
    Metadata:
      filename        : AR CENA_0.TTF
      mimetype        : application/x-truetype-font
    Stream #0:18: Attachment: ttf
    Metadata:
      filename        : tahomabd.ttf
      mimetype        : application/x-truetype-font
    Stream #0:19: Attachment: ttf
    Metadata:
      filename        : palai.ttf
      mimetype        : application/x-truetype-font
    Stream #0:20: Attachment: ttf
    Metadata:
      filename        : pala.ttf
      mimetype        : application/x-truetype-font

Как видите, один из потоков — это поток FLAC 6.1. Я хотел преобразовать это в AAC, и я знаю, как это сделать, в основном так:

ffmpeg -i "input.mkv" -codec:v copy -codec:a aac -strict -2 -b:a 320k -f matroska "output.mkv"

Но, видимо, AAC не поддерживает звук 6.1:

...
[aac @ 03b26860] Unsupported number of channels: 7
Output #0, matroska, to 'd:\Movies\[Coalgirls]_Spirited_Away_(1920x1038_Blu-ray_FLAC)_[92372194].aac.mkv':
    Stream #0:0(jpn): Video: h264, yuv420p10le, 1920x1038 [SAR 1:1 DAR 320:173], q=2-31, 23.98 fps, 90k tbn, 1k tbc (default)
    Stream #0:1(jpn): Audio: aac, 0 channels, 128 kb/s (default)
    Metadata:
      encoder         : Lavc55.67.100 aac
    Stream #0:2(eng): Subtitle: ssa, 128 kb/s (default)
    Metadata:
      encoder         : Lavc55.67.100 ssa
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (flac (native) -> aac (aac))
  Stream #0:9 -> #0:2 (ssa (native) -> ssa (native))
Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height

Это нормально, поэтому я хотел преобразовать его в 5.1 и закодировать как AAC. Но я не могу понять, как это сделать. Любой совет?


person Martijn    schedule 07.07.2014    source источник


Ответы (1)


Последнее, что я слышал, кодировщик aac для ffmpeg считался экспериментальным. Обычно рекомендуется:

  • Скомпилируйте свой собственный ffmpeg с включением libfdk_aac, который является лучшим кодировщиком AAC для ffmpeg, но не включен по причинам лицензирования (https://trac.ffmpeg.org/wiki/Encode/AAC)
  • Используйте NeroAacCodec, бесплатный высококачественный кодировщик aac от nero. Вы можете использовать ffmpeg для извлечения дорожки FLAC, конвертировать ее в wav и отправить в NeroAacCodec.

Я не могу гарантировать вам, что любой из них будет поддерживать вход 6.1/выход 5.1, но есть большая вероятность, что он будет работать лучше, чем встроенный в ffmpeg кодировщик aac.

person Ely    schedule 07.07.2014
comment
Кодер aac не обязательно является проблемой. Раньше я кодировал в 5.1 AAC, и все работало отлично. Проблема, кажется, в том, что исходник 6.1 FLAC, а я хочу, чтобы он стал 5.1. Так что тот факт, что я в конечном итоге хочу, чтобы он был закодирован в AAC, тривиален — это может быть и FLAC. Поэтому я думаю, что мне нужен способ перейти с 6.1 на 5.1, независимо от кодеков. - person Martijn; 09.07.2014
comment
На самом деле я только что смог сделать это, добавив -ac 6 в командную строку, но я не совсем уверен, производит ли это правильное микширование или ffmpeg просто отбрасывает один из каналов... - person Martijn; 09.07.2014
comment
@Martijn, согласно статье об управлении аудиоканалом, на которую вы ссылались в своем вопросе, -ac 6 должен производить правильное микширование, если вы не укажете явное сопоставление нового канала (что даст вам возможность пропустить канал). Тем не менее, при микшировании всегда следует добавлять параметр -rematrix_maxval 1, чтобы избежать клиппирования (в противном случае из-за добавления каналов они могут стать слишком громкими). - person user654123; 09.06.2017