Понадобилось установить последнюю версию ffmpeg c поддержкой h264 для конвертирования видео.
В данной заметке расскажу, как поставить их из исходников
Кратко опишу процесс установки:
Считаем, что у нас в системе нет ffmpeg и мы ставим с нуля.
Могут быть не точности, т.к. описывал процесс уже после установки..
Если будут найдены неточности - просьба сообщить
Получаем необходимые исходники
Примеры Конвертирования:
OGV
WebM
Более подробно про конвертирование можно почитать в моей статье - Кодирование аудио/видео при помощи ffmpeg
Решил упростить установку, написал скрипт, который автоматически все ставит (только должны быть установлены утилиты для сборки из исходников (make, gcc, g++)).
Скрипт тестировался на CentOS 5 и Gentoo
Скачать его можно отсюда, а также приведу его листинг здесь
Ссылки:
Сборка ffmpeg на CentOS 6.0 x64 для Web видео mp4, webm, ogv
http://ffmpeg.org
HOWTO: Install and use the latest FFmpeg and x264 (Ubuntu)
Самостоятельная установка последних FFmpeg и x264 на примере Ubuntu
В данной заметке расскажу, как поставить их из исходников
Кратко опишу процесс установки:
Считаем, что у нас в системе нет ffmpeg и мы ставим с нуля.
Могут быть не точности, т.к. описывал процесс уже после установки..
Если будут найдены неточности - просьба сообщить
Получаем необходимые исходники
mkdir /usr/local/src_prog
cd /usr/local/src_prog
git clone git://github.com/yasm/yasm.git yasm
git clone http://git.chromium.org/webm/libvpx.git libvpx
git clone git://git.videolan.org/ffmpeg.git ffmpeg
git clone git://git.videolan.org/x264.git libx264
wget http://downloads.sourceforge.net/project/faac/faad2-src/faad2-2.7/faad2-2.7.tar.gz
wget http://sourceforge.net/projects/faac/files/faac-src/faac-1.28/faac-1.28.tar.gz
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.4.tar.gz
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
Распакуем:
tar -xvf faad2-2.7.tar.gz
tar -xvf faac-1.28.tar.gz
tar -xvf lame-3.99.4.tar.gz
tar -xvf libtheora-1.1.1.tar.gz
tar -xvf libvorbis-1.3.3.tar.gz
Ну и начинаем собирать.
Необходимая билиотека для libx264
cd yasm
./autogen.sh && make && make install
Добавим библиотеки для работы со звуком:
cd ../faad2-2.7
./configure --with-mp4v2
make clean && make && make install
cd ../faac-1.28
./configure --with-mp4v2
vi common/mp4v2/mpeg4ip.h
#comment line 126
#:126
#/*char *strcasestr(const char *haystack, const char *needle);*/
make clean && make && make install
cd ../lame-3.99.4
./configure
make clean && make && make install
cd ../libvorbis-1.3.3
./configure
make clean && make && make install
cd ../libtheora-1.1.1
./configure
make clean && make && make install
Библиотеки для Видео
cd ../libvpx
./configure --target=x86_64-linux-gcc --enable-pic --enable-vp8 --enable-shared
make clean && make && make install
cd ../libx264/
./configure --enable-shared --enable-static --prefix=/usr
make clean && make && make install
Устанавливаем поддержку rtmp. Опция ffmpeg --enable-librtmp
emerge rtmpdump
Устанавливаем сам ffmpeg
cd ../ffmpeg/
./configure --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --disable-static --enable-gpl --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vaapi --disable-ffplay --disable-vdpau --enable-libmp3lame --enable-libx264 --enable-libfaac --enable-nonfree --disable-indev=alsa --disable-indev=oss --disable-indev=jack --disable-outdev=alsa --disable-outdev=oss --enable-pthreads --enable-librtmp --disable-altivec --disable-avx --enable-hardcoded-tables
make clean && make && make install
Обновляем список библиотек:
ldconfig -v
По идее после всех шагов у вас должна быть установлена последняя версия рабочего ffmpeg-а:
Примеры Конвертирования:
OGV
ffmpeg -i test.avi -acodec libvorbis -ab 192k -ac 2 -ar 44100 -b 1500k -s 1280x720 test.cvt.ogv
WebM
ffmpeg -i test.avi -acodec libvorbis -ab 192k -ac 2 -ar 44100 -b 1500k -s 1280x720 test.cvt.webm
MP4
ffmpeg -i test.avi -ab 192k -ac 2 -ar 44100 -b 1500k -s 1280x720 -level 21 -refs 2 -bt 1500k test.cvt.mp4
Кодирование файлов из формата Apple
ffmpeg -i "./src.mov" -vcodec libx264 -acodec libfaac "./dst.mp4"
Более подробно про конвертирование можно почитать в моей статье - Кодирование аудио/видео при помощи ffmpeg
Решил упростить установку, написал скрипт, который автоматически все ставит (только должны быть установлены утилиты для сборки из исходников (make, gcc, g++)).
Скрипт тестировался на CentOS 5 и Gentoo
Скачать его можно отсюда, а также приведу его листинг здесь
#!/bin/bash
if [ -n `whereis yum|awk '{print $2}'` ];
then
pkg="yum install"
else
if [ -n `whereis emerge|awk '{print $2}'` ];
then
echo "emerge git";
pkg="yum install"
fi
fi
if [ -z `whereis git|awk '{print $2}'` ];
then
echo "Git - not installed!!!"
`$pkg git`
fi
mkdir /usr/local/src_prog
cd /usr/local/src_prog
git clone git://github.com/yasm/yasm.git yasm
git clone http://git.chromium.org/webm/libvpx.git libvpx
git clone git://git.videolan.org/ffmpeg.git ffmpeg
git clone git://git.videolan.org/x264.git libx264
wget http://downloads.sourceforge.net/project/faac/faad2-src/faad2-2.7/faad2-2.7.tar.gz
wget http://sourceforge.net/projects/faac/files/faac-src/faac-1.28/faac-1.28.tar.gz
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.4.tar.gz
wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
tar -xvf faad2-2.7.tar.gz
tar -xvf faac-1.28.tar.gz
tar -xvf lame-3.99.4.tar.gz
tar -xvf libtheora-1.1.1.tar.gz
tar -xvf libvorbis-1.3.3.tar.gz
cd yasm
./autogen.sh && make && make install
cd ../faad2-2.7
./configure --with-mp4v2
make clean && make && make install
cd ../faac-1.28
./configure --with-mp4v2
echo '126c126
< char *strcasestr(const char *haystack, const char *needle);
---
> #/*char *strcasestr(const char *haystack, const char *needle);*/' | patch ./common/mp4v2/mpeg4ip.h -i -
make clean && make && make install
cd ../lame-3.99.4
./configure
make clean && make && make install
cd ../libvorbis-1.3.3
./configure
make clean && make && make install
cd ../libtheora-1.1.1
./configure
make clean && make && make install
cd ../libvpx
./configure --target=x86_64-linux-gcc --enable-pic --enable-vp8 --enable-shared
make clean && make && make install
cd ../libx264/
./configure --enable-shared --enable-static --prefix=/usr
make clean && make && make install
emerge rtmpdump
cd ../ffmpeg/
./configure --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --disable-static --enable-gpl --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vaapi --disable-ffplay --disable-vdpau --enable-libmp3lame --enable-libx264 --enable-libfaac --enable-nonfree --disable-indev=alsa --disable-indev=oss --disable-indev=jack --disable-outdev=alsa --disable-outdev=oss --enable-pthreads --enable-librtmp --disable-altivec --disable-avx --enable-hardcoded-tables
make clean && make && make install
ldconfig -v
cd /usr/local/src_prog/ffmpeg/ ;./configure --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --disable-static --enable-gpl --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vaapi --disable-ffplay --disable-vdpau --enable-libmp3lame --enable-libx264 --enable-libfaac --enable-nonfree --disable-indev=alsa --disable-indev=oss --disable-indev=jack --disable-outdev=alsa --disable-outdev=oss --enable-pthreads --enable-librtmp --disable-altivec --disable-avx --enable-hardcoded-tables ; make clean && make && make install; ldconfig -v
Ссылки:
Сборка ffmpeg на CentOS 6.0 x64 для Web видео mp4, webm, ogv
http://ffmpeg.org
HOWTO: Install and use the latest FFmpeg and x264 (Ubuntu)
Самостоятельная установка последних FFmpeg и x264 на примере Ubuntu
Что-ж оно будет после мейк-инстал .. Почему не опакетили ?
ОтветитьУдалитьКонечно лучше использовать emerge, но бывают случаи когда необходимо поставить свежайшую версию доступную только в исходниках
ОтветитьУдалитьСпасибо. У меня тоже есть что почитать про FFMPEG: http://plutov.by/post/html5_ffmpeg
ОтветитьУдалить