当前位置:文档之家› linux下安装FFMPEG全纪录

linux下安装FFMPEG全纪录

怎样安装ffmpeg?1,cd /usr/local/src下载最新版本的ffmpeg:svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg2,cd ffmpeg./configuremake && make install以上是安装不带任何解码库的ffmpeg。

使用ffmpeg命令进行测试安装是否成功。

例如:ffmpeg --helpII,要加入则在./configure后面加上选项,前提是已经编译安装了这种编码库。

[root@ip-208-109-221-163 ffmpeg]# ffmpeg --helpffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory找不到libavdevice.so.52库。

解决方案:(成功解决问题的方案)首先到/usr/local/lib/目录下去查看是否有libavdevice.so.52,然后设置环境变量:export LD_LIBRARY_PA TH=/usr/local/lib/注意:这种方案经验证,关闭终端再打开终端,这个环境变量就失效了,也就是说只对当前终端有效最终解决方案://**********************************************因为找不到库文件。

编辑/etc/ld.so.conf,加入一行:/usr/local/lib执行ldconfig命令即可。

//**************************************然后添加软链接。

ln -s /usr/local/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52安装成功后,测试:ffmpe g -i /home/admn/public_html/ConvertVedioT est/rjmj.mpeg -ab 56 -ar 22050 -b 500 -r 15 -qscale 4 -s 640*480 rjmj.flv转换成功。

等等。

ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51最基本的需要这些东西:∙FFMPEG∙LAME Mp3 Audio Codec (Requred for mpg, flv, avi, wmv etc files) ∙AMR Audio Codec (Required for 3gp video files)∙XVID Audio Codec∙FFMPEG-PHP★安装FFMPEG-PHP:★FFMPEG-PHP# ./configure出现如下错误:??checking for ffmpeg headers... configure: error: ffmpeg headers not found. Make sure you've built ffmpeg as shared libs using the --enable-shared option解决方案:换成ffmpeg-php-0.6.0.tbz2版本进行安装,安装过程没有问题。

ffmpeg-php is an extension for PHP that adds an easy to use, object-oriented API for accessing and retrieving information from video and audio files. It has methods for returning frames from movie files as images that can be manipulated using PHP's image functions. This works well for automatically creating thumbnail images from movies. ffmpeg-php is also useful for reporting the duration and bitrate of audio files (mp3, wma...). ffmpeg-php can access many of the video format supported by ffmpeg (mov, avi, mpg, wmv...)USAGEIf you've the installed ffmpeg-php extension as a shared library but haven't setit to auto-load in your php.ini file, you'll need to use the PHP dl() function to make ffmpeg-php available to your scripts. Add the following PHP code to the beginning of scripts you want to call ffmpeg-php methods in.<?php$extension = "ffmpeg";$extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;// load extensionif(!extension_loaded($extension)) {dl($extension_soname) or die("Can't load extension $extension_fullname\n");}?>ffmpeg最后配置为:./configure --disable-mmx --enable-gpl --enable-shared--enable-libmp3lame --enable-libvorbis --enable-libxvid--enable-libx264 --enable-pthreads --disable-ffserver --disable-ffplay 安装ffmpeg最后结果为:安装ffmpeg-php结果为:Now, you need to add the ffmpeg extension in your php.ini file. Locate the php.ini file and use the below commend to insert it:????echo‘extension=/usr/local/lib/php/extensions/no-debug-non-zts-20020429/ffmpeg.so’ >> /path/to/php.ini具体情况应该是:echo ‘extension=/usr/lib/php/modules/ffmpeg.so’ >> /etc/php.ini这个是错误的,因为php.ini中已经有extension_dir=/usr/lib/php/modules/故不需要前缀。

应该改为:echo ‘extension=ffmpeg.so’ >> /etc/php.ini(测试成功)Make sure to restart apache once you insert the extension:执行这个命令,重启apache服务:# service httpd restart★用文件测试:将ffmpeg-php目录中的test_media和test_ffmpeg.php上传到服务器的目录上,打开浏览器执行test_ffmpeg.php进行测试:★★★★在php中调用ffmpeg不能转换的原因:★★★★在linux下面一般是不能执行二进制文件(.exe)的,故不能写成ffmpeg.exe形式。

而且为了防止环境变量$PATH没有包含ffmpeg文件的路径而发生错误,故最好是将文件的路径写成全路径。

如果$PATH包含了它的路径,就可以直接用ffmpeg.例如:$cmd="/usr/local/bin/ffmpeg.exe -i test.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 640*480 test.flv";exec($cmd);修改为:$cmd="/usr/local/bin/ffmpeg-i test.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 640*480 test.flv";exec($cmd);在php中成功转换文件。

可以使用相对路径调用ffmpeg进行文件格式转换$cmd="ffmpeg -i ./UploadFile/video/rjmj.mpeg -ab 56 -ar 22050 -b 500 -r 15 -s 640*480 ./UploadFile/video/rjmj.flv";exec($cmd);$cmd="ffmpeg -i ./UploadFile/video/rjmj.mpeg -y -f image2 -ss 1 -t 0.001 -s 80*80 ./UploadFile/video/rjmj.jpg";exec($cmd);删除原文件可以使用相对目录。

相关主题