Недавно я хотел опробовать кодеки Webm VP8 и VP9, но когда я побежал ffmpeg
кодировать файл H.264 MP4 в один из двух других кодеков, я понял, что кодирование (почти на порядок) медленнее.
Видео 1080p30 от H.264 до VP9 со скоростью 3 Мбит / с кодируется со скоростью около 6-7 кадров в секунду, в то время как то же видео кодируется со скоростью около 40 кадров в секунду до H.264. Я использовал libvpx-vp9
кодек ffmpeg
для формата VP9. Я получаю одинаковые результаты для VP8 и Theora тоже.
Может кто-нибудь объяснить мне, почему VP9 намного медленнее? Я попробовал другую машину, которая дала мне похожие результаты, используя Handbrake.
Ответы:
libvpx-vp9
это гораздо более медленный кодировщик,libx264
но настройки по умолчанию для потоков в ffmpeg (0 = auto) не эффективны для libvpx. Ручная настройка дает ускорение. напримерНа 4-ядерном компьютере при кодировании потока H.264 1080-30p я получаю удар от
3.8 fps
до10 fps
.источник
-preset
Дляlibx264
и-speed
дляlibvpx-vp9
. Смffmpeg -h full
. Они могут иметь большое значение, но они также влияют на качество или эффективность сжатия.-speed
Вариант не делает большой разницы для меняVP9 - более сложный кодек, обеспечивающий лучшее сжатие. Коэффициент сжатия видео / производительность имеет тенденцию к экспоненциальному росту. Вы должны ожидать, что замена VP9 (AV1) будет еще медленнее.
источник