1、yasm安装
#yum -y install yasm yasm-devel libvorbis libvorbis-devel libogg
2、lame安装 (mp3解码器)
#wget jaist.dl.sourceforge.net/project/lam…
#tar zxvf lame-3.100.tar.gz
#cd lame-3.100
#./configure
#make && make install
5、faac安装(mp4格式使用)***已经弃用***
5、ffmpeg安装
#wget ffmpeg.org/releases/ff… 或者 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
#tar zxvf ffmpeg-3.4.1.tar.gz
#cd ffmpeg-3.4.1
ffmpeg -version能查看出版本信息,表示ffmpeg安装成功
phpinfo() 如果有ffmpeg完整信息,表示扩展安装成功
7、ffmpeg-php扩展安装(2)
cp /server/php/bin/php /usr/sbin/
这样,你就可以通过“php”来执行了。
在/home 下执行
#php -r "copy('getcomposer.org/installer', 'composer-setup.php');"
#php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
#php composer-setup.php
#php -r "unlink('composer-setup.php');"
这时候目录下会有一个composer.phar ,复制到系统bin下
#cp composer.phar /usr/local/bin/composer
#composer require php-ffmpeg/php-ffmpeg
安装好之后会在当前目录下生成个vendeo文件夹
#yum -y install yasm yasm-devel libvorbis libvorbis-devel libogg
2、lame安装 (mp3解码器)
#wget jaist.dl.sourceforge.net/project/lam…
#tar zxvf lame-3.100.tar.gz
#cd lame-3.100
#./configure
#make && make install
3、安装nasm
#wget www.nasm.us/pub/nasm/re…
#./configure
#make && make install
4、X264安装(转mp4格式使用)
#yum install git (安装git)
#git clone git://git.videolan.org/x264.git
#cd x264
#./configure --enable-static --enable-shared --prefix=/server/x264
#make
#make install
#./configure
#make && make install
make时遇到make[3]: *** [3gp.o] Error 1错误
#vi common/mp4v2/mpeg4ip.h, 删除126行 char *strcasestr(const char *haystack, const char *needle); 再make。
#make install
5、fdk-aac安装
#./configure
#make
#make install
6、zlib安装
5、ffmpeg安装
#wget ffmpeg.org/releases/ff… 或者 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
#tar zxvf ffmpeg-3.4.1.tar.gz
#cd ffmpeg-3.4.1
#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH (设置环境变量)
#./configure --prefix=/server/ffmpeg --enable-shared --enable-version3 --enable-nonfree --enable-gpl --enable-libvorbis --enable-shared
#./configure --prefix=/server/ffmpeg --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-shared (如果想转音频MP3请用这个命令编译 。并在此之前安装lame)
#./configure --prefix=/server/ffmpeg --enable-shared --enable-version3 --enable-nonfree --enable-gpl --enable-libvorbis --enable-shared
#./configure --prefix=/server/ffmpeg --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-shared (如果想转音频MP3请用这个命令编译 。并在此之前安装lame)
#./configure --prefix=/server/ffmpeg --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --pkg-config=pkg-config --enable-pthreads --enable-shared --enable-libx264(使用x264的编译指令)
//记得在每次编译前都要设置一下环境变量
//最近使用的是下面这条编译指令,但是仍旧会提示waring:using libx264 without pkg-config (黄色字体)
#./configure --prefix=/server/ffmpeg --enable-libmp3lame --enable-libfdk-aac --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libx264 --pkg-config=pkg-config --enable-shared --extra-cflags=-I/server/x264/include --extra-ldflags=-L/server/x264/lib (不加--extra-cflags 会报ERROR: libx264 not found)
#make && make install
安装完成之后,进行如下操作
安装完成之后,进行如下操作
make: *** [libavcodec/libavcodec.so.57] Error 1
请看记事本专业记录
#vi /etc/ld.so.conf
在文件末尾增加ffmpeg的安装之后的所在目录
和x264安装之后的所在目录
如:
/server/ffmpeg/lib/
6、ffmpeg-php扩展安装
/server/x264/lib/
#wq
#ldconfig
#ffmpeg -version
如果显示正确的版本信息,则说明安装成功
安装完成之后启动报如下错误:
/server/ffmpeg/bin/ffmpeg: error while loading shared libraries: libfdk-aac.so.1: cannot open shared object file: No such file or directory
解决,加软链接
#ln -s /usr/local/lib/libfdk-aac.so.1.0.0 /usr/lib64/libfdk-aac.so.1
#ln -s /usr/local/lib/libfdk-aac.so.1.0.0 /usr/lib64/libfdk-aac.so.1
直到
#/server/ffmpeg/bin/ffmpeg -version
出版本信息,即安装成功
#yum -y install bzip2
#wget jaist.dl.sourceforge.net/project/ffm…
#tar -xvf ffmpeg-php-0.6.0.tbz2
#cd ffmpeg-php-0.6.0
#/server/php/bin/phpize
#./configure --with-php-config=/server/php/bin/php-config --with-ffmpeg=/server/ffmpeg/
#make
遇到make: *** [ffmpeg-php.lo] Error 1
#mv ffmpeg-php.loT ffmpeg-php.lo
继续make
#make
遇到make: *** [ffmpeg_movie.lo] Error 1
#mv ffmpeg_movie.loT ffmpeg_movie.lo
#make
然后只要遇到类似错误就把相应的文件改名为.lo 即可
#make install
#wget jaist.dl.sourceforge.net/project/ffm…
#tar -xvf ffmpeg-php-0.6.0.tbz2
#cd ffmpeg-php-0.6.0
#/server/php/bin/phpize
#./configure --with-php-config=/server/php/bin/php-config --with-ffmpeg=/server/ffmpeg/
#make
遇到make: *** [ffmpeg-php.lo] Error 1
#mv ffmpeg-php.loT ffmpeg-php.lo
继续make
#make
遇到make: *** [ffmpeg_movie.lo] Error 1
#mv ffmpeg_movie.loT ffmpeg_movie.lo
#make
然后只要遇到类似错误就把相应的文件改名为.lo 即可
#make install
安装成功之后提示:/server/php7/lib/php/extensions/no-debug-zts-20170718/
#ffmpeg -version
报错1、 ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory
解决:
#vi /etc/ld.so.conf
在文件末尾加入
/server/ffmpeg/lib
保存退出
继续执行查看版本
#ffmpeg -version
报错2、 ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory
解决:
#mv /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
所有安装成功之后,启动报错的解决都是加软链接
#ffmpeg -version
报错1、 ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory
解决:
#vi /etc/ld.so.conf
在文件末尾加入
/server/ffmpeg/lib
保存退出
继续执行查看版本
#ffmpeg -version
报错2、 ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory
解决:
#mv /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
所有安装成功之后,启动报错的解决都是加软链接
ffmpeg -version能查看出版本信息,表示ffmpeg安装成功
phpinfo() 如果有ffmpeg完整信息,表示扩展安装成功
7、ffmpeg-php扩展安装(2)
cp /server/php/bin/php /usr/sbin/
这样,你就可以通过“php”来执行了。
在/home 下执行
#php -r "copy('getcomposer.org/installer', 'composer-setup.php');"
#php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
#php composer-setup.php
#php -r "unlink('composer-setup.php');"
这时候目录下会有一个composer.phar ,复制到系统bin下
#cp composer.phar /usr/local/bin/composer
#composer require php-ffmpeg/php-ffmpeg
安装好之后会在当前目录下生成个vendeo文件夹
移动该文件夹到项目目录下
至此,ffmpeg php扩展安装完毕
8、php中使用
require $_SERVER['DOCUMENT_ROOT'].'/plug/vendor/autoload.php';
//$ffmpeg = FFMpeg\FFMpeg::create();
$ffmpeg = \FFMpeg\FFMpeg::create([
'ffmpeg.binaries' => '/server/ffmpeg/bin/ffmpeg',
'ffprobe.binaries' => '/server/ffmpeg/bin/ffprobe',
'timeout' => 3600,
]);
$video = $ffmpeg->open($_SERVER['DOCUMENT_ROOT'].'/1.mp4');
$frame =$video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10));
$frame ->save('1.jpg');如果报任何错误,则是当前项目目录没有写入的权限。增加apache所有者对项目有写入权限即可。