1947 sudo /etc/init.d/apache2 restart
先是安装一些基础的包:
sudo apt-get install php5-dev
sudo apt-get install ffmpeg
sudo apt-get install libavcodec-dev
sudo apt-get install libavcodec1d
sudo apt-get install mencoder
从http://downloads.sourceforge.net/ffmpeg-php/下载phpffmpeg包,解压缩后进入目录:
phpize
./configure
make
sudo make install
编辑/etc/php5/apache2/php.ini
在最后一行加入
extension=ffmpeg.so
然后再phpinfo()函数的输出中看是不是有了php-ffmpeg的支持。
代码如下:
<?php
8.执行后如果拿到视频的一些信息如下就表示环境配置成功了,那我们就可以开始开发我们的视频操作。
执行结果:
略....
9.实现视频的截图。(接上面的php代码)
$ff_frame = $ffmpegInstance->getFrame(20);//截取视频第20帧的图像
$gd_image = $ff_frame->toGDImage();
$img=$_SERVER['DOCUMENT_ROOT']."/test2.jpg";//要生成图片的绝对路径
imagejpeg($gd_image, $img);//创建jpg图像
imagedestroy($gd_image);//销毁一图像
10.关于ffmpeg-php的API。
Method | Description |
$movie = new ffmpeg_movie(String path_to_media, boolean persistent) | Open a video or audio file and return it as an object.
|
$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.
|
$movie->getNextKeyFrame() | Returns the next key frame from the movie as an ffmpeg_frameobject. Returns false if the frame was not found. |
Method | Description |
$frame = new ffmpeg_frame(Resource gd_image) | Create a frame object from a GD image. NOTE: This function will not be available if GD is not enabled. |
$frame->getWidth() | Return the width of the frame. |
$frame->getHeight() | Return the height of the frame. |
$frame->getPTS() alias $frame->getPresentationTimestamp() | Return the presentation time stamp of the frame. |
$frame->resize(Integer width, Integer height [, Integer crop_top [, Integer crop_bottom [, Integer crop_left [, Integer crop_right ]]]]) | Resize and optionally crop the frame. (Cropping is built into ffmpeg resizing so I'm providing it here for completeness.)
NOTE: Cropping is always applied to the frame before it is resized. Crop values must be even numbers. |
$frame->crop(Integer crop_top [, Integer crop_bottom [, Integer crop_left [, Integer crop_right ]]]) | Crop the frame.
NOTE: Crop values must be even numbers. |
$frame->toGDImage() | Returns a truecolor GD image of the frame. NOTE: This function will not be available if GD is not enabled. |
Method | Description |
$gif = new ffmpeg_animated_gif(String output_file_path, Integer width, Integer height, Integer frame_rate, [Integer loop_count]) | create a new ffmpeg_animated_gif object
|
$frame->addFrame(ffmpeg_frameframe_to_add) | Add a frame to the end of the animated gif.
|