php-ffmpeg установка на Centos 5

Запись создана июля 29, 2008

Статья Установка FFMPEG и FFMPEG-PHP на CentOS вызвала много вопросов. Решил сделать упрошённую инструкцию для CentOS release 5.2 (Final) (2.6.18-92.el5 i386). Проверено на нескольких серверах.

wget http://www.mplayerhq.hu/MPlayer/releases/codecs/mplayer-codecs-20061022-1.i386.rpm
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/mplayer-codecs-extra-20061022-1.i386.rpm
rpm -ivh mplayer-codecs-*
rpm -ivh /home/distr/CentOS/automake-1.9.6-2.1.noarch.rpm
rpm -ivh /home/distr/CentOS/libtool-1.5.22-6.1.i386.rpm
yum install -y flvtool2 lame lame-devel libogg libogg-devel libvorbis libvorbis-devel ffmpeg ffmpeg-devel mplayer mencoder
wget http://dfn.dl.sourceforge.net/sourceforge/ffmpeg-php/ffmpeg-php-0.5.3.1.tbz2
bunzip2 ffmpeg-php-0.5.3.1.tbz2
tar xvf ffmpeg-php-0.5.3.1.tar
cd ffmpeg-php-0.5.3.1
phpize
./configure
make && make test && make install

make test может выдать failure, но это не всегда справедливо. Вставьте строчку extension=ffmpeg.so в php.ini и рестартните Apache.

ниже привожу php-шный скрипт для проверки php-ffmpeg

<?php
$extension = "ffmpeg";
$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;

if(!extension_loaded($extension)) {
    dl($extension_soname) or die("Can't load extension $extension_fullname\n");
    }


$frame = 6;
$time  = time ();
$movie = new ffmpeg_movie('/usr/local/apache2/htdocs/clock.avi', 1);

$duration = $movie->getDuration();

if ( $duration > 6 ){
        $minutes = floor($movie -> getDuration ()/ 60);
        $seconds  =  $movie -> getDuration ()% 60 ;
}

echo  'File: <font color="red">' . $_SERVER  [ 'DOCUMENT_ROOT' ]. '/clock.avi</font> longs ' . $duration . ' seconds<br />' ;

$img  =  $_SERVER [ 'DOCUMENT_ROOT' ]. '/' . $time . '_' . $frame . '.jpg' ;

$ff_frame  =  $movie -> getFrame ( $frame );
if ( $ff_frame ){
                  $gd_image  =  $ff_frame -> toGDImage ();
if ( $gd_image ) {
                  imagepng ( $gd_image ,  $img );
                  imagedestroy ( $gd_image );
                 }
                }

echo  $minutes . ' min ' . $seconds . ' sec.<br />' ;

echo  '<img src="' . $time . '_' . $frame . '.jpg" />' ;

$franecount = $movie->getFrameCount();
$framerate  = $movie->getFrameRate();
$filename   = $movie->getFilename();
$comment    = $movie->getComment();

echo "<br /><br />number of frames in a movie or audio file.".$franecount."<br />";
echo "frame rate of a movie in fps".$framerate."<br />";
echo "path and name of the movie file or audio file.".$filename."<br />";
echo "comment field from the movie or audio file.".$comment."<br />";
?>

clock.avi есть в любой винде, в папке C:\WINDOWS\clock.avi

» Запись из раздела CentOS Linux, PHP, web server | 5 комментариев

Комментарии



5 комментариев to “php-ffmpeg установка на Centos 5”

  1. Oleg on августа 19, 2008 20:13

    такое вот выдает

    make: *** [ffmpeg-php.lo] Error 1

  2. admin on августа 19, 2008 20:23

    смотрите configure.log

  3. Renat on сентября 12, 2008 4:03

    аналогичная проблема.
    что там смотреть? у меня лог заканчивается на:
    # Use ||, not &&, to avoid exiting from the if with $? = 1, which
    # would make configure fail if this is the last instruction.
    $ac_cs_success || { (exit 1); exit 1; }
    fi

  4. Олег on марта 12, 2009 14:47

    И не заработает. Тут такая версия ffmpeg-php, что граблей в большинстве случаев не избежать.
    Надо из svn грузит старую версию.

  5. Артур Шакиров on марта 12, 2009 17:05

    Олег, Вы ошибаетесь. я уже на несколько десятков сервреров ставил.




Ответить