Самый безопасный способ установить последнюю стабильную версию ffmpeg (> = 4.3) в Ubuntu 20.04 (ppa не работает)?

Я пытаюсь используйте ffmkv , для которого требуется версия ffmpeg, поддерживающая zscale.

Их README говорит, что это значение по умолчанию до 18.04, но моя версия до 20.04 - 4.2.4-1ubuntu0.1, которая, похоже, не включает поддержку zscale.

Если я запускаю apt-get install ffmpeg , он говорит, что ffmpeg уже является самой новой версией (7: 4.2.4-1ubuntu0.1). , но из ffmpeg.org ясно, что текущий стабильный выпуск - 4.3.2-0 .

Я попытался добавить ppa: jonathonf / ffmpeg-4 , чтобы получить последнюю версию, но это не удалось обновить («нет файла выпуска»).

Какой самый безопасный способ обновить его? В идеале есть PPA, который будет работать, о котором мои поиски в Google не всплыли. Или мне следует загрузить файл ffmpeg_4.3.2-0 + deb11u2ubuntu1_amd64.deb и установить его с помощью dpkg?

Я всегда параноидально отношусь к установке чего-либо по побочному каналу, особенно когда это связано с чем-либо делать с видео. Как лучше всего установить текущую стабильную версию ffmpeg, «не нарушая будущих системных обновлений APT»?

3
задан 30 August 2021 в 01:19

4 ответа

Существуют и другие PPA с более новым ffmpeg. Самым последним из них является FFmpeg 4 - медиа-инструмент (Xenial и новее) от Роба Сэвори . Чтобы добавить этот PPA в вашу систему, используйте команды ниже:

sudo add-apt-repository ppa:savoury1/ffmpeg4
sudo apt-get update
sudo apt-get install ffmpeg

В результате вы получите версию с - enable-libzimg флагом компиляции и ffmkv не будет жаловаться на "HDR в SDR преобразование или изменение разрешения ".

Примечание: вы можете искать PPA самостоятельно, используя специальное локальное приложение с именем Y PPA Manager ,.

2
ответ дан 4 September 2021 в 09:27

Простое решение

  1. Загрузите уже скомпилированный ffmpeg с johnvansickle.com . Поддержка zscale включена.
  2. Поместите загруженный ffmpeg в свой ПУТЬ , переместив загруженный ffmpeg в / usr / local / bin или ~ / bin (повторно войдите в систему или запустите source ~ / .profile , если вы переместите его в ~ / bin ).

Это не повлияет на работу каких-либо системных файлов или других пакетов. Для удаления просто удалите файл ffmpeg .

Я не большой поклонник PPA. Они могут быть беспорядочными, часто излишними, а могут вызывать проблемы , вмешиваясь в систему управления пакетами.

1
ответ дан 4 September 2021 в 09:27

Существует пакет оснастки для ffmpeg . Текущая версия в «стабильном» канале - 4.3.1, но не содержит - enable-zimg в своей конфигурации сборки, как напечатано с -version , поэтому она может не работать. Однако «граничный» канал этого пакета оснастки содержит версию, основанную на ffmpeg 4.4 с - enable-zimg . Так что установка будет такой же простой, как

snap install ffmpeg --channel edge
1
ответ дан 4 September 2021 в 09:27

Возможно, лучший способ получить копию FFmpeg и фильтра zscale - это использовать , но немного изменить , отличное руководство по компиляции FFmpeg trac . Это руководство не будет мешать работе системных библиотек.

Это можно сделать всего за два простых шага:

1. Установите zimg:

При установке длинного списка зависимостей в руководстве добавьте следующее в также install zimage :

   mkdir -p ~/ffmpeg_sources && \
   cd ~/ffmpeg_sources && \
   wget https://github.com/sekrit-twc/zimg/archive/refs/tags/release-3.0.2.tar.gz && \
   tar xvf release-3.0.2.tar.gz && \
   cd zimg-release-3.0.2 && \
   ./autogen.sh && \
   ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
   make && \
   make install

Это устанавливает локальную копию zimg , который FFmpeg подхватит при компиляции.

2. Скомпилируйте FFmpeg:

Следуйте полному руководству FFmpeg trac , и когда вы дойдете до раздела, где компилируется FFmpeg, просто добавьте следующее в строку ./ configure :

   --enable-libzimg

И это будет достаточно, чтобы включить фильтр zscale.

3. Тестирование, тестирование ...

Сам FFmpeg можно проверить на наличие фильтра zscale:

andrew@ithaca:~$ ffmpeg -filters 2> /dev/null |grep zscale
 ..C zscale            V->V       Apply resizing, colorspace and bit depth conversion.
andrew@ithaca:~$ 

Я тестировал сам ffmkv с большим апскейлом по размеру:

andrew@ithaca:~$ ffmkv --preset 'Up to 4K, original audio, 4GB per hour VBR, HDR' input.mkv output.mkv
Audio is Stream Copy VBR, filesize will be greater than estimated.
Processing pass 1 of VBR video, remaining time is remaining time for pass 1 only.
Process will sit on 100% while ffmpeg closes out functions.
ffmpeg conversion of input.mkv started on 08/30/21 7:53:05 PM
input.mkv has 1248 frames, now converting
ffmpeg: 1253 of 1248 frames at 24 fps, progress: 100% and ETA: 0h 0m 0s     
ffmpeg stopped on 08/30/21 7:54:06 PM

Processing pass 2 of VBR video, remaining time is total remaining time.
Process will sit on 100% while ffmpeg closes out functions.
ffmpeg conversion of input.mkv started on 08/30/21 7:54:06 PM
input.mkv has 1248 frames, now converting
ffmpeg: 1253 of 1248 frames at 23 fps, progress: 100% and ETA: 0h 0m 0s     
ffmpeg stopped on 08/30/21 7:55:06 PM
andrew@ithaca:~$ 

И все хорошо :)

2
ответ дан 4 September 2021 в 09:27

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

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