FFMPEG медленное кодирование VP8

Я пытаюсь кодировать видео с веб-камеры в поток VP8. Отправка потока WebRTC с моей веб-камеры с помощью Chrome выглядит довольно хорошо и не требует много ресурсов процессора. Когда я пытаюсь перекодировать поток с веб-камеры в VP8 (webm) с помощью FFMPEG, это происходит очень и очень медленно.

В OS X я использую следующие параметры FFMPEG для создания файла WebM VP8. Источник - веб-камера Facetime 720p. Это истощает мой процессор (Core i7 MBP в конце 2011 года), а качество не очень хорошее:

ffmpeg -f avfoundation -i 'default' -y -qmin 11 -qmax 45 -b:v 500k -cpu-used 0 -deadline realtime test.webm

Какой протокол используется для WebRTC и как Chrome может работать так быстро? У меня сложилось впечатление, что VP8 нельзя сделать аппаратно. Используя современные процессоры Intel, вы можете использовать QuickSync, но я предполагаю, что это только H.264 и не поддерживается FFMPEG.


person Ramon de Klein    schedule 18.12.2014    source источник
comment
Chrome может использовать кодирование с аппаратным ускорением. Кроме того, каковы ваши настройки кодирования VP8 и размер / частота кадров? Ваши настройки кодирования и качество видео могут влиять на скорость (в зависимости от оборудования вашего компьютера).   -  person Benjamin Trent    schedule 18.12.2014
comment
Я добавил свою строку FFMPEG. Я не думаю, что VP8 можно сделать аппаратно.   -  person Ramon de Klein    schedule 18.12.2014
comment
Chrome выполняет кодирование / декодирование с аппаратным ускорением в зависимости от версии Chrome, ОС и базового оборудования.   -  person Benjamin Trent    schedule 19.12.2014
comment
@RamondeKlein Современное оборудование Intel поддерживает VP8 в QuickSync.   -  person Brad    schedule 21.09.2017
comment
В самом деле, но на Sandy Bridge такого нет. Не говоря уже о OSX, где бесконечная мудрость ее создателя даже не распознает кодеки VP . В Chrome должен быть было Тогда используя нормальный libvpx, так что мое обоснованное предположение - просто OP не подходит параметры.   -  person mirh    schedule 24.11.2019


Ответы (1)


Это нормально. Сейчас WebM Project все еще относительно маленький, и единственным крупным его сторонником является потоковый сервис Google YouTube.

Кодирование WebM [с использованием кодека VP8] чрезвычайно медленно, но каким-то образом новый кодек VP9 еще сложнее на потребительских машинах. Кажется, что это не такая уж большая проблема для огромных серверов Google, но главное преимущество видео WebM [его высокоэффективное сжатие] - это его недостаток для обычных пользователей.

С сайта проекта WebM:

Кодирование видео WebM кажется очень медленным. Что вы с этим делаете?

Сегодня кодирование VP8 в режиме «наилучшего качества» - самая медленная конфигурация. > Использование режима «хорошего качества» с параметром скорости, установленным между 0 и 5,> обеспечит диапазон скоростей. Мы уверены, что сможем существенно улучшить скорость VP8>, особенно с вашей помощью. Мы увеличили общую производительность декодера VP8 на ~ 28% в нашем выпуске «Aylesbury» в октябре 2010 года и> сосредоточимся на улучшении скорости кодировщика для нашего следующего указанного выпуска.

Надеюсь это поможет!

person HMSCelestia    schedule 25.02.2015