r3421555 发表于 2017-8-18 10:15:43

php5.3.3下安装ffmpeg

安装yasm,一般这个yum仓库会有这个包,可以直接安装

1
yum install yasm




安装ffmpeg

1
2
3
4
5
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg/
./configure --prefix=/usr/local/ffmpeg --enable-shared
make
make install




可以使用ffmpeg命令查看是否安装成功:
成功会返回如下信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 [ -i infile]... { outfile}...

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




我在安装的时候出现了报错:

1
2
3
4
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

1
2
3
4
5
6
7
8
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出现如下报错

1
2
3
4
5
6
7
/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: *** 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使生效


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

1
2
php -m|grep ffmpeg
php -r 'phpinfo();' | grep ffmpeg



页: [1]
查看完整版本: php5.3.3下安装ffmpeg