ubuntu 安装 ffmpeg php-ffmpeg

一点一刻 2010-08-01

   最近在做一个视频网站安装本地环境费了不少时间。本地是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 安装步骤如下:

    sudoapt-getupdate##更新以下源

    sudoapt-getinstallffmpeg

    sudoapt-getinstallphp5-ffmpeg

    sudoapt-getinstallmencoder

    sudoapt-getinstallflvtool2##视频转换flv

    sudoapt-getinstalllame##音频

    sudoapt0getinstallyasm

  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&makeinstall

    其他的则一个一个的下载解压在编译就是了。

  • 下面是php-ffmpeg使用的api。功能是很少了。
    $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.
     
  • 如果需要给视频抓图择需要使用shell脚本。也就是用到php当中的(system,exec,passthru)这类执行外部命令函数。

    往往很多服务器都将种类函数视为危险函数屏蔽掉了。所以想做视频网站对服务器的配置要求比较高。

    当然最好是自己的独立服务器。vps 也可以。随便你怎么整都可以。
View Code PHP

测试用例:ffmpeg-execute.php

本文链接地址: ubuntu 安装 ffmpeg php-ffmpeg

相关推荐

cherayliu / 0评论 2020-06-13

83096129 / 0评论 2020-01-05