Компиляция и упаковка FFmpeg со специальной конфигурацией

#ffmpeg

#ffmpeg

Вопрос:

Мне нужно скомпилировать FFmepg с определенной конфигурацией, которая поддерживает аппаратное ускорение nvidia cuda. Для достижения этой цели я компилирую код, используя образ nvidia-cude-10.2 devel docker.

Я хочу взять файлы, которые я скомпилировал, и переместить их в python alpine docker, после чего.

вопрос в том, буду ли я следовать инструкциям здесь

если быть точным, эта часть

    cd ~/ffmpeg_sources amp;amp; 
   wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 amp;amp; 
   tar xjvf ffmpeg-snapshot.tar.bz2 amp;amp; 
   cd ffmpeg amp;amp; 
   PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure 
     --prefix="$HOME/ffmpeg_build" 
     --pkg-config-flags="--static" 
     --extra-cflags="-I$HOME/ffmpeg_build/include" 
     --extra-ldflags="-L$HOME/ffmpeg_build/lib" 
     --extra-libs="-lpthread -lm" 
     --bindir="$HOME/bin" 
     --enable-gpl 
     --enable-gnutls 
     --enable-libaom 
     --enable-libass 
     --enable-libfdk-aac 
     --enable-libfreetype 
     --enable-libmp3lame 
     --enable-libopus 
     --enable-libvorbis 
     --enable-libvpx 
     --enable-libx264 
     --enable-libx265 
     --enable-nonfree amp;amp; 
   PATH="$HOME/bin:$PATH" make amp;amp; 
   make install amp;amp; 
   hash -r
  

и, чем копировать файлы в каталог $ HOME / bin, этого будет достаточно?

Должен ли я использовать контейнер cuda вместо python alpine и установить на него python? Я не уверен, требуется ли среда выполнения cuda после компиляции

Комментарии:

1. Я не вижу --enable-cuda в конфигурации. Вы уверены, что у этого есть поддержка CUDA?

2. @thekamilz Извините за путаницу, я просто копирую эту часть из руководства в качестве примера, мы используем git clone github.com/FFmpeg/FFmpeg amp;amp; cd FFmpeg amp;amp; ./configure —enable-cuda —enable-cuvid —enable-nvenc —enable-gpl —enable-nonfree —enable-libnpp —extra-cflags=-I/usr/local/cuda/include —extra-ldflags=-L/usr/local/cuda/lib64 —enable-zlib —enable-openssl amp;amp; make -j16 amp;amp; сделать установку amp;amp;

Ответ №1:

Хорошо, после make install вы можете вызвать FFmpeg из того места, где bindir установлен. И все будет хорошо.

Комментарии:

1. После компиляции я скопировал его в другой контейнер и получаю следующую ошибку / ffmpeg: ошибка при загрузке общих библиотек: libnppig.so.10: не удается открыть общий объектный файл: нет такого файла или каталога, я думаю, копирования только папки bin было недостаточно?

2. Хорошо, проблема решена, для запуска со специальными параметрами cuda вам необходимо использовать контейнер с cuda runtime