linux 中有ffmpeg可以处理视频,而且ffmpeg有PHP扩展,PHP可以通过FFMPEG类出来视频,下面是LINUX下安装FFMEPG及关联PHP的方法
1. 创建文件夹
mkdir ~/ffmpeg
cd ~/ffmpeg
2. 取得基本要求的源文件
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20100303.tar.bz2
or
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz
or
wget http://ftp.de.debian.org/debian/pool/main/f/flvtool2/flvtool2_1.0.6-4.tar.gz
wget http://downloads.sourceforge.net/project/lame/lame/3.98.4/lame-3.98.4.tar.gz
wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2
wget http://downloads.xiph.org/releases/ogg/libogg-1.2.0.tar.gz
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.1.tar.gz
wget http://www.tortall.net/projects/yasm/releases/yasm-1.1.0.tar.gz
3. 解压源文件
bunzip2 all-20100303.tar.bz2; tar xvf all-20100303.tar
or
bunzip2 essential-20071007.tar.bz2; tar xvf essential-20071007.tar.bz2
tar zfvx flvtool2_1.0.6-4.tar.gz
tar zxvf lame-3.98.4.tar.gz
bunzip2 ffmpeg-php-0.6.0.tbz2 ;tar vxf ffmpeg-php-0.6.0.tar
tar zvxf libogg-1.2.0.tar.gz
tar zxvf libvorbis-1.3.1.tar.gz
bunzip2 rpl-4.0.19.tar.bz2; tar vfx rpl-4.0.19.tar
4. 创建codecs 文件夹并导入
mkdir /usr/local/lib/codecs/
mv all-20100303/* /usr/local/lib/codecs/
chmod -R 755 /usr/local/lib/codecs/
5. 取得FFMPEG 和Mplayer
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
6. 编译lame
cd lame-3.98.4
./configure
make
make install
cd ..
7 编译libOGG
cd cd libogg-1.2.0
./configure
make
make install
Cd ..
8. 编译libVorbis
cd libvorbis-1.3.1
./configure
make
make install
cd ..
9 编译 flvtool2
cd flvtool2/
ruby setup.rb config
ruby setup.rb setup
ruby setup.rb install
cd ..
10. 编译yasm( 安装mplayer 必须)
tar zfvx yasm-1.1.0.tar.gz
cd yasm-1.1.0
./configure
make
make install
11. 编译mplayer
MPlayer
cd mplayer
./configure
make
make install
cd ..
12. 编译ffmpeg
cd ffmpeg
./configure --enable-libmp3lame --enable-libvorbis --disable-mmx --enable-shared --enable-yasm
echo '#define HAVE_LRINTF 1' >> config.h
make
make install
cd ..
13. 建立链接
ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50
ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51
ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49
ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0
ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51
15. 编译PHP 的FFmpeg 扩展
cd ffmpeg-php-0.6.0
/usr/local/php/bin/phpize # 我的PHPIZE 在这里
./configure --with-php-config=/usr/local/php/bin/php-config # 我的php-config 在这里
make
# 可能出现错误:error: ‘PIX_FMT_RGBA32′ undeclared (first use in this function)
#make: *** [ffmpeg_frame.lo] Error 1
# 打开文件 “/ffmpeg-php-0.5.0/ffmpeg_frame.c”
# 替换所欲的 PIX_FMT_RGBA32 为 PIX_FMT_RGB32 #vi 命令 :%s/PIX_FMT_RGBA32/PIX_FMT_RGB32/
make install
cd ..
vi /usr/local/php/etc/php.ini
往结尾添加
extension=/usr/local/lib/php/extensions/ no-debug-non-zts-20020429/ffmpeg.so # 这个SO 的地址根据你的实际的写
# 注: 根据PHP 的配置不同. 部分可能直接会自动添加而无需手动
16 重启web 服务, 检查是否有ffmpeg 扩展出现
传张我配置完后得到的效果图:
明天把PHP端如何处理补上.
(比较忙,有时间在写了...)
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com