Как установить / компилируют NVENC в человечности?

Я вижу поддержку Nvidia NVENC в этом документе, но это кажется сбивающим с толку, некоторые шаг за шагом? или PPA с ffmpeg-nvenc для человечности?

http://developer.download.nvidia.com/compute/redist/ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf

13
задан 14 October 2016 в 21:20

2 ответа

Как всегда с FFmpeg продолжающаяся разработка много раз смещает сообщения цели, и это, конечно, верно для nvenc и FFmpeg. Было 3 фазы:

  1. Самокрутка: Пред 27-го августа 2016 это было необходимо разыскать Ваши собственные заголовки для создания nvenc. Трудный и больше, чем немного сбивающий с толку.
  2. Встроенный в источник: 27-го августа 2016 рассматривал необходимые заголовки, включенные как часть источника FFmpeg, ничто требуемое, но способность скомпилировать источник FFmpeg от мерзавца или использовать версию 'выпуска' не сокращало от мерзавца в это время.
  3. Используйте nv-codec-headers: 26-го февраля 2018 заголовки Nvidia были удалены из источника FFmpeg. Отдельный репозиторий мерзавца был создан для содержания продолжающейся работы с этими заголовками. В данный момент эти заголовки должны быть установлены, а также FFmpeg от мерзавца для получения доступа к nvenc и друзьям.

Требуются два шага:

1. Установите nv-codec-headers пакет:

Что-то как следующие Терминальные команды должно быть достаточным:

sudo apt-get install make git
mkdir $HOME/nv-codec-headers_build && cd $HOME/nv-codec-headers_build
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make && sudo make install

Если по некоторым причинам Вы передумали и хотите полностью удалить установленные файлы, а также каталог сборки просто выполняет следующие две Терминальных команды:

sudo rm -v /usr/local/{lib/pkgconfig/ffnvcodec.pc,include/ffnvcodec/*.h}
rm -rfv $HOME/nv-codec-headers_build

И Ваша система была убрана. Если однако Вы хотите продолжить, используют следующий шаг:

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

Используйте это очень хорошо протестированное руководство:

nv-codec-headers будет автоволшебно распознан (не дополнительный ./configure опции необходимы), и nvenc будет успешно создан.

Тестирование:

Я протестировал это на Бионическом Бобре, который LTS и результаты:

andrew@ilium:~$ ffmpeg -encoders 2>/dev/null | grep nvenc
 V..... h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc                NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_h264           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_hevc           NVIDIA NVENC hevc encoder (codec hevc)
 V..... hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)
andrew@ilium:~$

И если Вы видите подобное изображение как выше, и у Вас есть поддерживаемая видеокарта, Вы правы пойти :)

Примечания:

  • Нет никакого различия между hevc_nvenc и nvenc_hevc: nvenc_* варианты являются старыми именами прежней версии.
  • Можно просмотреть опции, характерные для каждого кодера. Например, ffmpeg -h encoder=h264_nvenc.
  • Руководство по Аппаратному ускорению для FFmpeg: FFmpeg руководство Wiki для аппаратного ускорения в целом с FFmpeg, каноническим разделом для компиляции и использования nvenc...
  • Последняя версия соответствует Видеокодеку версия 9.0.18 SDK и требует версии 418.30 драйверов Nvidia или более новый.
18
ответ дан 23 November 2019 в 03:19

Судя по журналу изменений Focal, теперь включены заголовки nv-codec-headers.

ffmpeg (7:4.2.2-1ubuntu1) фокусное; urgency=medium

  • Сборка с внешними nv-codec-headers для видео с ускорением NVENC кодирование. (LP: #1810649)

    • debian/control:
      • Добавить B-D libffmpeg-nvenc-dev
    • debian/rules:
      • Добавить --enable-nvenc только для amd64

    -- Martin Wimpress Sat, 07 Mar 2020 08:39:35 +0000

5
ответ дан 5 April 2020 в 11:01

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

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