1. 程式人生 > >php5.3.3下安裝ffmpeg

php5.3.3下安裝ffmpeg

php php擴展

安裝yasm,一般這個 yum 倉庫會有這個包,可以直接安裝

yum install yasm

安裝ffmpeg

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg/
./configure --prefix=/usr/local/ffmpeg --enable-shared
make
make install

可以使用ffmpeg命令查看是否安裝成功:

成功會返回如下信息

FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
  built on Aug 16 2017 18:44:48 with gcc 4.4.7 20120313 (Red Hat 4.4.7-18)
  configuration: --enable-shared
  WARNING: library configuration mismatch
  avutil      configuration: --prefix=/usr/local/ffmpeg --enable-shared
  avcore      configuration: --prefix=/usr/local/ffmpeg --enable-shared
  avcodec     configuration: --prefix=/usr/local/ffmpeg --enable-shared
  avformat    configuration: --prefix=/usr/local/ffmpeg --enable-shared
  avdevice    configuration: --prefix=/usr/local/ffmpeg --enable-shared
  avfilter    configuration: --prefix=/usr/local/ffmpeg --enable-shared
  swscale     configuration: --prefix=/usr/local/ffmpeg --enable-shared
  libavutil     50.36. 0 / 50.36. 0
  libavcore      0.16. 1 /  0.16. 1
  libavcodec    52.108. 0 / 52.108. 0
  libavformat   52.93. 0 / 52.93. 0
  libavdevice   52. 2. 3 / 52. 2. 3
  libavfilter    1.74. 0 /  1.74. 0
  libswscale     0.12. 0 /  0.12. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run ‘man ffmpeg‘

我在安裝的時候出現了報錯:

ffmpeg: error while loading shared libraries: libavdevice.so.52 : cannot open shared object file: No such file or directory
解決方法:
在 /etc/ld.so.conf 中最後一行添加你的ffmpeg的安裝目錄,並確保安裝目錄下有此文件 lib/libavdevice.so.52
在運行  ldconfig  重新加載信息

下面安裝php-ffmpeg

下載地址:http://ffmpeg-php.sourceforge.net/

版本為:ffmpeg-php-0.6.0.tbz2

支持的最低版本:

  • ffmpeg-0.4.9_pre1 or higher.

  • php-4.3.0 or higher

  • gd-2.0 or higher (the version of GD bundled with PHP works too)


如果沒有 phpize ,則需要安裝 php-devel

tar xjf ffmpeg-php-0.6.0.tbz2
cd ffmpeg-php-0.6.0/
phpize
./configure --with-ffmpeg=/usr/local/ffmpeg
可以先使用make test查看是否有報錯
然後在使用make clean 重新編譯
make
make install

在安裝 php-ffmpeg 出現如下報錯

/root/ffmpeg-php-0.6.0/ffmpeg_frame.c:336: error: ‘PIX_FMT_RGBA32’ undeclared (first use in this function)
/root/ffmpeg-php-0.6.0/ffmpeg_frame.c:336: error: (Each undeclared identifier is reported only once
/root/ffmpeg-php-0.6.0/ffmpeg_frame.c:336: error: for each function it appears in.)
/root/ffmpeg-php-0.6.0/ffmpeg_frame.c: In function ‘zim_ffmpeg_frame_ffmpeg_frame’:
/root/ffmpeg-php-0.6.0/ffmpeg_frame.c:421: error: ‘PIX_FMT_RGBA32’ undeclared (first use in this function)
make: *** [ffmpeg_frame.lo] Error 1
/root/ffmpeg-php-0.6.0/ffmpeg_frame.c: In function ‘zim_ffmpeg_frame_toGDImage’:

需要將 ffmpeg_frame.c 裏面的 PIX_FMT_RGBA32 替換為 PIX_FMT_RGB32,總共有三處


所有編譯服務安裝完成之後,需要在 php.ini 中最後一行加入:extension=ffmpeg.so

重啟 php 使生效


使用下面方式可以查看是否生效:

php -m|grep ffmpeg
php -r ‘phpinfo();‘ | grep ffmpeg


本文出自 “為了部落!” 博客,請務必保留此出處http://10309478.blog.51cto.com/10299478/1957090

php5.3.3下安裝ffmpeg