FFMPEG 4.0 Opus кодек не включен?

954
Sarah Szabo

Я только что скомпилировал и установил ffmpeg-4.0на свой ноутбук Kubunut 17.10, и я получаю ошибку при попытке сделать преобразования с использованием компонентов opus. Похоже, что опус не включен, и я получаю эту ошибку: [opus @ 0x55b30ae65fc0] The encoder 'opus' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.я добавил -strict -2в команду:, ffmpeg -strict -2 -y -i 40.mp4 40.opusно это, похоже, не помогает.

Я видел, как разные люди говорили, что опус теперь включен по умолчанию, а другие говорили, что мне нужно включить его --enable-libopusво время компиляции. Каждый раз, когда я пытаюсь это сделать, кажется, это никогда не срабатывает. Я пытался ./configure --enable-libopusи make --enable-libopus, но подпрограммы просто действовали в замешательстве.

Полный вывод:

ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7 (Ubuntu 7.2.0-8ubuntu3.2) configuration: libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '40.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2014-02-10T22:28:37.000000Z Duration: 00:01:56.77, start: 0.000000, bitrate: 310 kb/s Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 480x360 [SAR 1:1 DAR 4:3], 211 kb/s, 25 fps, 25 tbr, 50 tbn, 50 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 95 kb/s (default) Metadata: creation_time : 2014-02-10T22:28:37.000000Z handler_name : IsoMedia File Produced by Google, 5-11-2011 Stream mapping: Stream #0:1 -> #0:0 (aac (native) -> opus (native)) Press [q] to stop, [?] for help [opus @ 0x55dbad5801c0] The encoder 'opus' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it. Average Intensity Stereo band: 0.0 Dual Stereo used: -nan% Conversion failed!

0

2 ответа на вопрос

3
LordNeckbeard

FFmpeg поддерживает два кодировщика Opus:

  • Экспериментальный встроенный кодировщик opus,
  • и libopusкоторый зависит от внешней библиотеки и требует вашей ffmpegсборки --enable-libopus.

Нативный кодировщик opusв настоящее время считается экспериментальным, поэтому для него требуется опция вывода -strict experimental(или псевдоним -strict -2).

libopusочень хороший кодировщик Попробуйте использовать его вместо этого из-за текущего экспериментального статуса opus, если, конечно, opusзвучит достаточно хорошо для ваших нужд. (Отказ от ответственности: я еще не пробовал opus. Писать это в шумной обстановке, поэтому я не могу пройти тест на прослушивание ...)

1
Gyan

Поскольку вы пытаетесь включить экспериментальный кодировщик, уровень соответствия должен быть установлен на выходе.

ffmpeg -y -i 40.mp4 -strict -2 40.opus 
Так это нужно делать каждый раз? Нет способа включить это навсегда? Это работает, кстати, спасибо! Sarah Szabo 6 лет назад 0