centos ubuntu 安装 ffmpeg phpffmpeg

最近在做一个视频网站安装本地环境费了不少时间。本地是ubuntu 9.10 而服务器是redhat as4 所以到时候本人会把服务器安装过程和大家分享出来。

本人环境如下
  • php —- 5.210
  • apache 2.2
  • ubuntu 9.10
  1. ffmpeg 功能很强大包括视频抓图,视频信息,视频转换,在线视频录制,而且是免费的。所有一般的视频网站都会采用他。
  2. 本人首先是采用编译安装,但是一直都没有成功。编译过程中出现了很多问题。安装要使用ffmpeg往往需要编译很多包。感觉很麻烦。这些包又依赖于很多其他包。安装顺序也有要求。所以放弃了。
  3. 最终采用ubuntu 强大的 apt-get (使用dpkg进行安装) 进行安装(当然cenos,red hat这类使用rpm的系统都可以使用yum进行安装,具体的安装方法可以在本站进行查找).
  4. apt-get 安装步骤如下:
    sudo apt-get update ##更新以下源
    sudo apt-get install ffmpeg
    sudo apt-get install php5-ffmpeg
    sudo apt-get install mencoder
    sudo apt-get install flvtool2 ##视频转换flv
    sudo apt-get install lame ##音频
    sudo apt-get install yasm
  5. 编译安装ffmpeg 如下:
    从 http://ffmpeg.mplayerhq.hu 下载
    ./configure –help ##查看有那些参数
    ./configure–prefix=/usr–enable-gpl–enable-shared–enable-libmp3lame–enable-libamr_nb–enable-libogg–enable-libvorbis–enable-libxvid–enable-liba52–enable-liba52bin–enable-pp–enable-libfaad–enable-libfaadbin–enable-libfaac–enable-pthreads–disable-ffserver–enable-x11grab
    如果报错则安装该包,或者直接去掉该参数,只需要配置自己使用过程中需要使用到的就行了。
    make & make install
    其他的则一个一个的下载解压在编译就是了。
  6. 具体参考本文:centos+zendce+red5+ffmpeg安装配置
  • 下面是php-ffmpeg 使用的api。功能是很少了。
  • 如果需要给视频抓图择需要使用shell脚本。也就是用到php当中的(system,exec,passthru)这类执行外部命令函数。
    往往很多服务器都将种类函数视为危险函数屏蔽掉了。所以想做视频网站对服务器的配置要求比较高。
    当然最好是自己的独立服务器。vps 也可以。随便你怎么整都可以。
$movie = new ffmpeg_movie(String path_to_media, boolean persistent) Open a video or audio file and return it as an object.
path_to_media - File path of video or audio file to open.
persistent - Whether to open this media as a persistent resource. See the PHP documentation for more info about persistent resources
$movie->getDuration() Return the duration of a movie or audio file in seconds.
$movie->getFrameCount() Return the number of frames in a movie or audio file.
$movie->getFrameRate() Return the frame rate of a movie in fps.
$movie->getFilename() Return the path and name of the movie file or audio file.
$movie->getComment() Return the comment field from the movie or audio file.
$movie->getTitle() Return the title field from the movie or audio file.
$movie->getAuthor() alias $movie->getArtist() Return the author field from the movie or the artist ID3 field from an mp3 file.
$movie->getCopyright() Return the copyright field from the movie or audio file.
$movie->getArtist() Return the artist ID3 field from an mp3 file.
$movie->getGenre() Return the genre ID3 field from an mp3 file.
$movie->getTrackNumber() Return the track ID3 field from an mp3 file.
$movie->getYear() Return the year ID3 field from an mp3 file.
$movie->getFrameHeight() Return the height of the movie in pixels.
$movie->getFrameWidth() Return the width of the movie in pixels.
$movie->getPixelFormat() Return the pixel format of the movie.
$movie->getBitRate() Return the bit rate of the movie or audio file in bits per second.
$movie->getVideoBitRate() Return the bit rate of the video in bits per second.
NOTE: This only works for files with constant bit rate.
$movie->getAudioBitRate() Return the audio bit rate of the media file in bits per second.
$movie->getAudioSampleRate() Return the audio sample rate of the media file in bits per second.
$movie->getFrameNumber() Return the current frame index.
$movie->getVideoCodec() Return the name of the video codec used to encode this movie as a string.
$movie->getAudioCodec() Return the name of the audio codec used to encode this movie as a string.
$movie->getAudioChannels() Return the number of audio channels in this movie as an integer.
$movie->hasAudio() Return boolean value indicating whether the movie has an audio stream.
$movie->hasVideo() Return boolean value indicating whether the movie has a video stream.
$movie->getFrame([Integer framenumber]) Returns a frame from the movie as an ffmpeg_frame object. Returns false if the frame was not found.
framenumber - Frame from the movie to return. If no framenumber is specified, returns the next frame of the movie.
$movie->getNextKeyFrame() Returns the next key frame from the movie as an ffmpeg_frame object. Returns false if the frame was not found.

测试用例:ffmpeg-execute.php
安装过程出现错误解决:
  1. make: *** [ffmpeg-php.lo] Error 1
    解决:.编译时加上 (php-config)路径:
    --with-php-config=/usr/local/php/bin/php-config
  2. make: *** [ffmpeg_frame.lo] Error 1
    解决:mv ffmpeg_frame.loT ffmpeg_frame.lo
  3. 其他问题请检查自己的php版本。和php-ffmpeg是否一致。
  4. 还有其他问题可以在下面留言。
本文链接地址: ubuntu 安装 ffmpeg php-ffmpeg

本文出自 “马丁博客” 博客,请务必保留此出处http://martin.blog.51cto.com/1250351/367521

更多相关文章
  • 安装过程: CentOS安装 wget --no-check-certificate https://gist.github.com/LazyZhu/dc3f2f84c336a08fd6a5/raw/d8aa4bcf955409e28a262ccf52921a65fe49da99/net_speed ...
  • 1.首先,我们需要安装包含有许多rpm包的DAG RPM库,安装方式非常简单 运行如下命令: nano -w /etc/yum.repos.d/dag.repo 在文件中插入代码: [dag] name=Dag RPM Repository for Red Hat Enterprise Linux ...
  • 所有下载的源 在Ubuntu下FFmpeg编译,支持x264和x265. Ubuntu 12.04 FFmpeg 2.1 Release 注意: cmake要升级要2.8.8 yasm要升级到1.2.0 0000. 资料: http://stackoverflow.com/questions/196 ...
  • 64位 CentOS NDK 编译 FFMPEG
    64位 CentOS NDK 编译 FFMPEG 一.           参考文章: http://www.cnblogs.com/baopu/p/4733029.html http://www.cnblogs.com/wainiwann/p/3785485.html   二. 编译环境: Cen ...
  • 转载:http://www.vpsee.com/2011/01/install-openvz-on-centos/ 在 CentOS 上安装和配置 OpenVZ 2011年01月20日 | 标签: centos, openvz | 作者:vpsee 经常有人问到 OpenVZ 和 Xen 哪个好,事 ...
  • 微信录音的amr文件小于1分钟,几十k,使用自己服务器转换比上传到阿里或七牛处理更方便.  1.安装ffmpeg apt-get install ffmpeg   2.ffmpeg只有mp3解码没有编码工具,apt-get install libmp3lame-dev 装了这个mp3编码开源第三方库
  • 安装前,最好能保证依赖的系统软件已经升级.    yum updateCentOS上安装Nginx,如果只是简单安装,不附加其他第三方模块,一句话可以搞定:    yum install nginx但是如果需要添加第三方的module则需要下载源码并重新编译安装了.(也可能有简单方法,本人不知,如果 ...
  • ubuntu安装Theano+cuda
    由于学习需要用到GPU加速机器学习算法,需要安装theano+cuda. 开源库的一大问题就是:难安装. 为了搞好这个配置,我是前前后后花了3天,重装了3次ubuntu重装了5次驱动才搞定. 故发此贴,给出最简单安装方法(如果我还记得的话). 因为ubuntu下各种软件依赖关系太多,最好全新ubun ...
一周排行
  • 


    		    MDT 2013 從入門到精通之概念掃盲
    从今日开始为大家带来微软MDT 2013批量部署操作系统从入门到精通系列教程,旨在为大家以 ...
  • <?xml version="1.0" encoding="utf-8" ?> <Elements xmlns="http://schemas.mi ...
  • 


    		    5 安裝View Connection Server伺服器
    View Connection Server是VMware View的连接管理服务器,是V
  • Oracle 11G在用EXPORT导出时,空表不能导出. 11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在
  • 在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例化:而findV ...
  • 因为Windows 2003的Web Server是IIS6.0,如果服务器由windows 2000升级到windows 2003的话,可能在一些安全权限上会遇到一些麻烦. 上次我在学校学科规划与建设处就是遇到了类 ...
  • Timer和TimerTask是util包中两个与工作排程的类,Timer是计时器,可以设定成特定时间,不过这里只有Timer不能单独使用,必须和TimerTask一起才有作用.Timer一旦与某个TimerTask
  • Java中涉及byte.short和char类型的运算操作首先会把这些值转换为int类型,然后对int类型值进行运算,最后得到int类型的结果.因此,如果把两个byte类型值相加,最后会得到一个int类型的结果.如果 ...
  • hdu5047    找規律+歐拉公式
    题意:在一个正方形内画n个M,求最多能分成多少个平面 sol:这种求划分成多少个平面的题第 ...
  • ZJGSUACM OJ 心得
    一个我觉得蛮重要的问题,也是会经常碰到的问题 就是觉得自己对的代码提交到OJ发现输出超限 ...