Быстрая установка php-ffmpeg, выполнена на сервере Centos 6 + WHM/Cpanel.
Подключаем нужные репозитории centos
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Отключаем rpmforge, чтобы его использовать только для установки ffmpeg разово
sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo
Ставим нужные пакеты для корректной установки ffmpeg:
yum install openjade wget -y
rpm -ivh ftp://rpmfind.net/linux/centos/6.7/os/x86_64/Packages/perl-SGMLSpm-1.03ii-21.el6.noarch.rpm
Установка самого ffmpeg
yum --enablerepo=rpmforge install ffmpeg ffmpeg-devel -y
Собственно сама установка php-ffmpeg
cd /usr/local/src/ && wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
cd ffmpeg-php-0.6.0 && phpize && ./configure && make && make install
Ищем файл php.ini в системие и прописываем туда новый модуль
php -i | grep php.ini
( В моем случае php.ini здесь: Loaded Configuration File => /usr/local/lib/php.ini )
Прописываем в найденный файл модуль и перезапускаем веб-сервер
extension="ffmpeg.so"
service httpd restart
Если при компилировании возникает ошибка:
/usr/local/src/php-ffmpeg/ffmpeg-php-0.6.0/ffmpeg_movie.c: In function ‘zim_ffmpeg_movie___construct’:
/usr/local/src/php-ffmpeg/ffmpeg-php-0.6.0/ffmpeg_movie.c:311: error: ‘list_entry’ undeclared (first use in this function)
/usr/local/src/php-ffmpeg/ffmpeg-php-0.6.0/ffmpeg_movie.c:311: error: (Each undeclared identifier is reported only once
/usr/local/src/php-ffmpeg/ffmpeg-php-0.6.0/ffmpeg_movie.c:311: error: for each function it appears in.)
/usr/local/src/php-ffmpeg/ffmpeg-php-0.6.0/ffmpeg_movie.c:311: error: ‘le’ undeclared (first use in this function)
/usr/local/src/php-ffmpeg/ffmpeg-php-0.6.0/ffmpeg_movie.c:346: error: expected ‘;’ before ‘new_le’
/usr/local/src/php-ffmpeg/ffmpeg-php-0.6.0/ffmpeg_movie.c:356: error: ‘new_le’ undeclared (first use in this function)
/usr/local/src/php-ffmpeg/ffmpeg-php-0.6.0/ffmpeg_movie.c: In function ‘_php_read_av_frame’:
/usr/local/src/php-ffmpeg/ffmpeg-php-0.6.0/ffmpeg_movie.c:1215: warning: ‘avcodec_decode_video’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:3452)
make: *** [ffmpeg_movie.lo] Error 1
Решение:
В файле ffmpeg_movie.c заменяем:
строку 311: list_entry *le; НА zend_rsrc_list_entry *le;
строку 346: list_entry new_le; НА zend_rsrc_list_entry new_le;
строку 360: hashkey_length+1, (void *)&new_le, sizeof(list_entry), НА hashkey_length+1, (void *)&new_le,sizeof(zend_rsrc_list_entry),