Компилируем ffmpeg в CentOS 6
Данная статья актуальна для минимальной установки CentOS 6.x. ffmpeg - это open source видео конвертер, к тому же очень быстрый. Данный конвертер может понадобиться для Drupal модуля video.
Для начала нужно установить все необходимые библиотеки
yum install autoconf automake gcc gcc-c++ git libtool make nasm pkgconfig zlib-devel
Затем создаём папку, в которую будем скачивать все исходники кодеков
mkdir ~/ffmpeg_sources
Yasm
curl -O http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xzvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix="/usr/ffmpeg_build" --bindir="/usr/bin"
make
make install
make distclean
x264
H.264 кодек
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --prefix="/usr/ffmpeg_build" --bindir="/usr/bin" --enable-static
make
make install
make distclean
libfdk_aac
AAC audio encoder
git clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="/usr/ffmpeg_build" --disable-shared
make
make install
make distclean
libmp3lame
MP3 audio encoder.
curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar xzvf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure --prefix="/usr/ffmpeg_build" --bindir="/usr/bin" --disable-shared --enable-nasm
make
make install
make distclean
libopus
Opus audio decoder и encoder.
curl -O http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz
tar xzvf opus-1.0.3.tar.gz
cd opus-1.0.3
./configure --prefix="/usr/ffmpeg_build" --disable-shared
make
make install
make distclean
libogg
Ogg bitstream library. Требуется для libtheora и libvorbis.
curl -O http://downloads.xiph.org/releases/ogg/libogg-1.3.1.tar.gz
tar xzvf libogg-1.3.1.tar.gz
cd libogg-1.3.1
./configure --prefix="/usr/ffmpeg_build" --disable-shared
make
make install
make distclean
libvorbis
Vorbis audio encoder. Требует libogg.
curl -O http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
tar xzvf libvorbis-1.3.3.tar.gz
cd libvorbis-1.3.3
./configure --prefix="/usr/ffmpeg_build" --with-ogg="/usr/ffmpeg_build" --disable-shared
make
make install
make distclean
libvpx
VP8/VP9 video encoder.
git clone --depth 1 http://git.chromium.org/webm/libvpx.git
cd libvpx
./configure --prefix="/usr/ffmpeg_build" --disable-examples
make
make install
make clean
FFmpeg
git clone --depth 1 git://source.ffmpeg.org/ffmpeg
cd ffmpeg
PKG_CONFIG_PATH="/usr/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="/usr/ffmpeg_build" --extra-cflags="-I/usr/ffmpeg_build/include" --extra-ldflags="-L/usr/ffmpeg_build/lib" --bindir="/usr/bin" --extra-libs="-ldl" --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264
make
make install
make distclean
hash -r
. ~/.bash_profile
На этом компиляция завершена и ffmpeg (также ffprobe, ffserver, lame, и x264) готов к исользованию.
Примечание. Не удаляйте папку ffmpeg_sources и её содержимое, если вы планируете делать обновления или удалить этот конвертер.
Если у вас возникла ошибка
Unable to create and execute files in /tmp. Set the TMPDIR environment variable to another directory and make sure that it is not mounted noexec. Sanity test failed.
То это значит, что вам нужно перед установкой ffmpeg создать TMP директорию:
mkdir $TMPDIR
После этого запускаем ./configure и все последующие команды для установки. После того как установка прола успешно, можно удалить временную директорию:
export TMPDIR=
Ребутаем сервер и готово.
Как обновлять
Для начала нужно удалить старые файлы
rm -rf ~/usr/ffmpeg_build ~/bin/{ffmpeg,ffprobe,ffserver,lame,vsyasm,x264,yasm,ytasm}
Обновляем x264
make distclean
git pull
Затем запускаем по порядку
make
make install
Обновляем libfdk_aac
make distclean
git pull
Затем запускаем по порядку команды как при обновлении x264 кодека
Обновляем libvpx
make clean
git pull
Затем запускаем по порядку команды как при обновлении x264 кодека
Обновляем FFmpeg
make distclean
git pull
Затем запускаем по порядку команды как при обновлении x264 кодека
Полностью удалить FFmpeg
hash -r
- 6145 просмотров
Разделы
Комменты
-
Olzhas 11 месяцев 2 дня назадСпасибо. С Новым Годом! →
-
Den 11 месяцев 3 недели назадВ первой функции, при создании переменной $li_previous нужно поменять '←' с NULL, в $li_next сделать тоже самое. →
-
Гость 11 месяцев 4 недели назадЕсли все ровно так как было описано, то нет никаких сомнений что домен увел сам регистратор. Потому что вероятность того →
-
Валерий 1 год 3 недели назадда можно делать импорт-экспорт только лишь в оболочке на входя на mysql сервер →
-
admin 1 год 3 недели назадВалерий, а зачем вам именно так делать экспорт? Если я не ошибаюсь, то там нет какой-либо команды чтобы сделать экспорт →
-
Валерий 1 год 3 недели назадзахожу на mysql через ssh по команде →
-
admin 1 год 3 недели назадДобрый вечер, какой у вас клиент? →
-
Валерий 1 год 3 недели назадЗдравстуйте, есть команда чтобы сделать экспорт базы внутри mysql клиента? →
-
Eduard 1 год 1 месяц назадВидать, домен хороший был. Заявление пробывали писать на мошенника? →
-
Stas 1 год 2 месяца назадОшибка в ключе квантификатора - replace(/будешь|пить/ig, "хлеб"); Указать -g для прохода по всем совпадениям! →
Комментарии (3)
Спасибо большое, все работает за исключением установки libvpx
VP8/VP9 video encoder.
# Установить ffmpeg-php
yum install ffmpeg-devel -y
cd ~/ffmpeg_sources
git clone https://github.com/tony2001/ffmpeg-php.git
cd ffmpeg-php
phpize
./configure
make && make install
Не помогло. Как не работал ffmpeg, так и не работает.