Установка FFMPEG на EC2 - Amazon Linux

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

На ESXI процесс для установки крупных кадров требует использования командной строки - в vSphere клиенте нет никакого метода. Однако Вы достигаете этого (режим Unsupported, vMA, rCLI, и т.д.) необходимо смочь использовать командную строку. Если Вы будете все еще хороши, то я отошлю Вас к превосходному сообщению в блоге здесь Chad Sacak. Это - центральный iSCSI, но имеет необходимые команды для установки всего крупного кадра esx (i) биты.

Удачи!

3
задан 29 March 2012 в 19:44
4 ответа

Ну, прямой ответ - нет, но правильный ответ - Я могу .

Если во время компиляции у вас отсутствуют зависимости, вам просто нужно выследить их и скомпилируйте их, затем попробуйте еще раз. Если вам действительно интересно, вы можете создать свой собственный пакет из всех этих зависимостей.

В этом нет принципиальной несовместимости, просто немного тяжелого опыта.

3
ответ дан 3 December 2019 в 05:31

В Fedora или RHEL я использую ATRPMS для установки ffmpeg. Я не уверен, насколько хорошо это будет работать для Amazon Linux. В худшем случае вам придется вытащить все RPM вручную, а затем перестроить их локально, что должно быть проще, чем пытаться построить все зависимости ffmpeg самостоятельно. И у вас были бы RPM, которые вы можете поместить в локальное репо или что-то еще.

Что касается проблемы с обновлением пакета yum, вы захотите включить только ffmpeg и пакеты, от которых он зависит, в файле .repo. Это предотвратит загрузку yum других пакетов из этого репо. Вы также можете установить приоритеты yum.

3
ответ дан 3 December 2019 в 05:31

проще всего мне было установить статическую сборку с http://johnvansickle.com/ffmpeg/

Просто распакуйте и запустите ./ffmpeg

.
0
ответ дан 3 December 2019 в 05:31

FWIW, вот мой опыт с попыткой скомпилировать ffmpeg из исходного кода, когда мне пришлось попробовать это недавно.

Общее ffmpeg руководство по компиляции взято из https://trac.ffmpeg.org/wiki/CompilationGuide/Centos

Дополнено информацией из https://developer.nvidia .com/ffmpeg для поддержки NVENC, а также https://www.linode.com/docs/platform/linode-gpu/getting-started-with-gpu/ для справки по установке инструментария CUDA.

Я считаю, что для первоначальной компиляции вам необходимо перейти на инструментарий CUDA версии 10.1 (по крайней мере, по состоянию на 08 апреля 2020 г.), загрузите с https://developer.nvidia.com/cuda-toolkit-archive — перейдите на страницу загрузки и используйте инструкции при выборе Linux/x84_64/CentOS/8/runfile (local) для установки. Но тогда для запуска ffmpeg вам нужно будет обновиться до 10.2 (или, по крайней мере, обновить драйвер, я этого не пробовал), иначе при кодировании с использованием NVENC вы получите ошибку, например:

[h264_nvenc @ 0x41d4080] Driver does not support the required nvenc API version. Required: 9.1 Found: 9.0
[h264_nvenc @ 0x41d4080] The minimum required Nvidia driver for nvenc is 435.21 or newer
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

Установить зависимости ( некоторые из них уже есть)

sudo yum install autoconf automake bzip2 bzip2-devel cmake \
  freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel

mkdir ~/ffmpeg_sources

NASM

cd ~/ffmpeg_sources && \
  curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2 && \
  tar xjvf nasm-2.14.02.tar.bz2 && \
  cd nasm-2.14.02 && \
  ./autogen.sh && \
  ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
  make && \
  make install

YASM

cd ~/ffmpeg_sources && \
  curl -O -L https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz && \
  tar xzvf yasm-1.3.0.tar.gz && \
  cd yasm-1.3.0 && \
  ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
  make && \
  make install

NV Codec Headers, необходимые для NVENC

cd ~/ffmpeg_sources && \
  git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git && \
  cd nv-codec-headers && \
  sudo make install

libx264

cd ~/ffmpeg_sources && \
  git clone --depth 1 https://code.videolan.org/videolan/x264.git && \
  cd x264 && \
  PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static && \
  make && \
  make install

libx265

cd ~/ffmpeg_sources && 
  hg clone https://bitbucket.org/multicoreware/x265 && \
  cd ~/ffmpeg_sources/x265/build/linux && \
  cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source && \
  make && \
  make install

libfdk_aac

cd ~/ffmpeg_sources && \
  git clone --depth 1 https://github.com/mstorsjo/fdk-aac && \
  cd fdk-aac && \
  autoreconf -fiv && \
  ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
  make && \
  make install

#libmp3lame

cd ~/ffmpeg_sources && \
  curl -O -L https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz && \
  tar xzvf lame-3.100.tar.gz && \
  cd lame-3.100 && \
  ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm && \
  make && \
  make install

libopus

cd ~/ffmpeg_sources && \
  curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz && \
  tar xzvf opus-1.3.1.tar.gz && \
  cd opus-1.3.1 && \
  ./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
  make && \
  make install

libvpx

cd ~/ffmpeg_sources && \
  git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \
  cd libvpx && \
  ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm && \
  make && \
  make install

сам ffmpeg

cd ~/ffmpeg_sources && \
  curl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
  tar xjvf ffmpeg-snapshot.tar.bz2 && \
  cd ffmpeg && \
  # Extra pkgconfig path comes from https://superuser.com/questions/1299064/error-cuvid-requested-but-not-all-dependencies-are-satisfied-cuda-ffnvcodec \
  PATH="$HOME/bin:$PATH" \
  PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig:/usr/local/lib/pkgconfig/" \
  ./configure \
    --prefix="$HOME/ffmpeg_build" \
    --pkg-config-flags="--static" \
    --extra-libs=-lpthread \
    --extra-libs=-lm \
    --bindir="$HOME/bin" \
    --enable-gpl \
    --enable-libfdk_aac \
    --enable-libfreetype \
    --enable-libmp3lame \
    --enable-libopus \
    --enable-libvpx \
    --enable-libx264 \
    --enable-libx265 \
    --enable-nonfree \
    --enable-libfdk_aac \
    --enable-libmp3lame \
    --enable-libopus \
    --enable-libvpx \
    --enable-cuda-nvcc \
    --enable-cuvid \
    --enable-nvenc \
    --enable-libnpp \
    --extra-cflags="-I$HOME/ffmpeg_build/include -I/usr/local/cuda/include" \
    --extra-ldflags="-L$HOME/ffmpeg_build/lib -L/usr/local/cuda/lib64" && \
  make -j 10 && \
  make install && \
  hash -d ./ffmpeg
0
ответ дан 21 July 2020 в 10:03

Теги

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