Я пытаюсь используйте 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»?
Существуют и другие 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 ,.
ffmpeg
с johnvansickle.com . Поддержка zscale включена. ffmpeg
в свой ПУТЬ
, переместив загруженный ffmpeg
в / usr / local / bin
или ~ / bin
(повторно войдите в систему или запустите source ~ / .profile
, если вы переместите его в ~ / bin
). Это не повлияет на работу каких-либо системных файлов или других пакетов. Для удаления просто удалите файл ffmpeg
.
Я не большой поклонник PPA. Они могут быть беспорядочными, часто излишними, а могут вызывать проблемы , вмешиваясь в систему управления пакетами.
Существует пакет оснастки для ffmpeg . Текущая версия в «стабильном» канале - 4.3.1, но не содержит - enable-zimg
в своей конфигурации сборки, как напечатано с -version
, поэтому она может не работать. Однако «граничный» канал этого пакета оснастки содержит версию, основанную на ffmpeg 4.4 с - enable-zimg
. Так что установка будет такой же простой, как
snap install ffmpeg --channel edge
Возможно, лучший способ получить копию 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:~$
И все хорошо :)