Как закодировать и воспроизвести видео с кодеком AV1 на Бионическом Бобре (18.04)?

По-видимому, бета Chrome 69 включает поддержку Союза для кодека Open Media AV1.   функция кажется бессмысленным без способности закодировать видео новым кодеком.

  1. Как видео может быть закодировано этим новым кодеком на Ubuntu 18.04?
  2. Каково состояние поддержки воспроизведения в других медиаплеерах, такой как mpv?
3
задан 13 July 2019 в 16:26

2 ответа

В данный момент установка стандарта запаса Бионического Бобра 18.04 предложит мало поддержки или кодирования или воспроизведения файлов Видео AOMedia 1 (AV1). Ради тестирования этого утверждения я создал тест файл AV1 здесь:

wget http://www.andrews-corner.org/samples/askubuntu_test_aom.mp4

Поддержка файлов AV1 у Бионического Бобра в это время (5-го августа 2018) была протестирована с этим файлом примера в следующих пакетах и версиях:

  1. mediainfo: Загруженный с Бионического Репозитория Бобра предлагает 'из поля' поддержку файлов AV1.
  2. vlc: Загруженный с Бионического Репозитория Бобра не поддерживает файлы AV1. Эта поддержка могла быть скомпилирована в от vlc версии 3.0 и больше. См. снимок экрана ниже...
  3. SMPlayer: Бионическая версия Бобра не предлагает поддержки AV1.
  4. mpv: Бионическая версия Бобра предлагает поддержку № AV1.
  5. FFmpeg: Две точки здесь:
    1. Бионическая версия Бобра с дополнительными кодеками не предлагает поддержки AV1.
    2. Полная поддержка может быть получена следующим Руководство Компиляции FFmpeg Trac и была возможна начиная с версии 4.0. Файлы могут быть созданы и затем воспроизведены с FFplay.
  6. Chrome: Снова 2 точки здесь:
    1. Chrome не доступен из Бионических Репозиториев Бобра.
    2. -dev версия Chrome не имела никаких проблем с проигрыванием файла примера. Я протестировал Version 70.0.3510.0 (Official Build) dev (64-bit). Доступный как прямая загрузка с Google, см. снимок экрана ниже!
  7. Firefox: Бионический Firefox Бобра не может играть файлы AV1, но поддерживать для AV1, должен идти с Firefox 63, когда он выпущен...
  8. MKVToolNix: Две точки:
    1. Бионическая версия Репозитория не имеет дело соответственно с AV1. Это - версия 19, в то время как версия 22 добавляет необходимую поддержку.
    2. У разработчика есть инструкции установить последний MKVToolNix под Бионическим Бобром, но я полагаю, что большая часть функциональности AV1 даже в этой версии все еще ожидает кодека для назревания. Этот протест относится к версиям 23 и 24 MKVToolNix.

Таким образом, это - текущее состояние игры, немного мрачной, но вещи улучшатся, поскольку AV1 назревает...

И победитель:

enter image description here

Chrome!! Для того, чтобы сделать все это с наименьшим количеством суеты :)

Бегун:

enter image description here

Vlc!! Для получения всего этого сделанного, просто ожидая поставщиков программного блока для наверстывания :).

Ссылки:

  • Сборка Slackware для libaom: Как люди Slackware создают и пакет libaom. Несколько методов там, которые перевели бы легко в Ubuntu пути...
3
ответ дан 1 December 2019 в 15:33

С 27 октября 2018, самые легкие способы получить поддержку воспроизведения AV1:

  • Движение к Firefox about:config страница и установка media.av1.enabled кому: true. Firefox 63.0 и более новый имеет встроенную поддержку AV1, но это в настоящее время отключается по умолчанию.

  • Установка Снимка для Бета-версии серии VLC 3.0.x (в настоящее время 3.0.4-157-ga26ab1e) от Поспешного Хранилища. В Хранилище идут Все версии-> последний / бета-> установка-> Представление в Настольном Хранилище или через командную строку:

    sudo snap install vlc --beta

  • Установка актуальной версии mpv. Их страница установки связывается с этим PPA. Я действительно не рекомендую этот метод, так как mpv в настоящее время имеет ошибку, которая заставляет декодирование AV1 работать плохо.


Кодирование является целым другой вопрос и в настоящее время ЛАВАШ. На данный момент нет никакого способа получить все, что Вы хотели бы; FFmpeg может быть скомпилирован с поддержкой AV1 следующим их руководство по компиляции Ubuntu, но функции, требуемые для многопоточного кодирования (а именно, -tile-columns и -tile-rows, и также -row-mt который предпочтителен), в настоящее время не поддерживаются. Подразумевать, что FFmpeg может только использовать один поток для кодирования AV1, которое делает вещи многократно медленнее, чем нормальный. Это уже имеет ведущий к недоразумению о том, как медленный AV1, кодирующий на самом деле, и я действительно не рекомендую этот метод.

Кодирование при помощи aomenc инструмент непосредственно является самым реалистическим выбором с точки зрения кодирования скорости, но Вы оставляете позади все преимущества FFmpeg. aomenc, только принимает необработанное видео в .y4m формате, который берет значительную сумму пространства, и очевидно это не может закодировать аудио. Скорость является также проблемой: при самой быстрой установке скорости и 1000k скорости передачи, 10 секунд видео на 1 080 пунктов 24 кадр/с занимают 13 минут для кодирования. Это - 0,32 кадра, закодированные в секунду. Способность кодера использовать ЦП является также проблемой. С самой быстрой скоростью, устанавливающей среднее использование ЦП Ryzen с 8 ядрами 1700X, приблизительно 21 процент. Это повышается до 41 процента при использовании второй самой медленной установки. Таким образом, кодер определенно не готов к широко распространенному использованию.

Если Вы все еще хотите попробовать его, необходимо скомпилировать его из источника. Можно адаптировать libaom раздел руководства по компиляции FFmpeg или если Вы решили скомпилировать FFmpeg, используйте уже скомпилированный aomenc, который должен болтаться в каталоге сборки FFmpeg.

Для запуска с, Вы преобразовали бы свое исходное видео в y4m с FFmpeg. Преобразовать 10 секунд видео:

'ffmpeg-i входное mp4 видео y4m-t 10-pix_fmt yuv420p

Для кодирования Вы использовали бы команду, которая выглядит примерно так:

aomenc --fps=24/1 -u 0 --codec=av1 --target-bitrate=1000 --lag-in-frames=25 --auto-alt-ref=1 -t 24 --cpu-used=8 --tile-columns=2 --tile-rows=2 --row-mt=1 -o output.webm video.y4m

Я рекомендовал бы ожидать FFmpeg для получения лучшей поддержки все же. Это сделает кодирование намного более реалистической перспективы.

2
ответ дан 1 December 2019 в 15:33

Другие вопросы по тегам:

Похожие вопросы: