首页 > 编程知识 正文

php扩展安装ffmpeg(php扩展安装不上)

时间:2023-12-20 16:55:06 阅读:318489 作者:EFEL

本文目录一览:

有谁在phpstudy下安装过ffmpeg的php扩展

在官网上找了ffmpeg的php扩展来装,发现无法加载扩展,查看后得知官网的php扩展版本是vc6,二php5.4是vc9编译的。在网上找了个php5.4的对应的ffmpeg的php扩展,地址是:

PHP 'ffmpeg' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

LZ,system()是执行外部程序的函数,如果你要按扩展去使用它的话,不能这么用。

ffmpeg扩展的文档地址:

若你要用system()的方法去运行FFMPEG的话(不推荐这样做),你应该首先下载一个ffmpeg

地址:

然后写成这样

system("FFMPEG安装路径/ffmpeg.exe -i 1111.amr out.mp3");

php5.4.16安装ffmpeg

可以直接写exec函数调用ffmpeg命令行工具。

记得之前的php-ffmpeg扩展也是同样包装了一下ffmpeg。

怎样在windows下配置ffmpeg-php

首先介绍下我使用的集成环境wamp。

PHP: php5.2.6

Apache: apache2.2.8

1.下载ffmpeg-php

2. 解压ffmpeg-php-win32-all.zip 后有下面几个文件:

avcodec-51.dll

avformat-51.dll

avutil-49.dll

php_ffmpeg.dll

pthreadGC2.dll

3. 将四个文件拷贝到windowssystem32文件夹下面(小插曲:之前自己再配置时候按照网上的文章只拷贝两个文件 avcodec-51.dll, avformat-51.dll到这个文件,结果发现并不能配置成功。后来将后面avutil-49.dll, pthreadGC2.dll全部拷贝过去就成功了,很有可能这四个文件是有一定关联使用的。)

avcodec-51.dll, avformat-51.dll, avutil-49.dll, pthreadGC2.dll

4. 然后需要到apachebin文件下找到php.ini文件下允许使用dll文件加入extension=php_ffmpeg.dll 并允许 extension=php_gd2.dll, extension=php_gettext.dll这两个

改动后如下(去掉前面的分号就代表允许执行)

extension=php_gd2.dll

extension=php_gettext.dll

extension=php_ffmpeg.dll

5. 重新启动wamp后使用phpinfo()函数看到一下信息配置: //我两个环境一个apache一个IIS,iis不用重启就生效了,apache没试不知道, add by aboc

ffmpeg

ffmpeg-php version 0.5.2.1

libavcodec version Lavc51.43.0

libavformat version Lavf51.12.2

ffmpeg-php gd support enabled

以上就表明ffmpeg在php环境中配置成功了。

6. 下面我们建立一个php的页面来测试是不是可以使用ffmpeg的一些函数功能。建立testvideo.php文件

代码如下:

?php

extension_loaded('ffmpeg'); //可不要

$ffmpegInstance = new ffmpeg_movie('C:wampwwwtop10.mp4'); //这里要用绝对路径

echo "getDuration: " . $ffmpegInstance-getDuration()."br" .

"getFrameCount: " . $ffmpegInstance-getFrameCount()."br" .

"getFrameRate: " . $ffmpegInstance-getFrameRate()."br" .

"getFilename: " . $ffmpegInstance-getFilename()."br" .

"getComment: " . $ffmpegInstance-getComment()."br" .

"getTitle: " . $ffmpegInstance-getTitle()."br" .

"getAuthor: " . $ffmpegInstance-getAuthor()."br" .

"getCopyright: " . $ffmpegInstance-getCopyright()."br" .

"getArtist: " . $ffmpegInstance-getArtist()."br" .

"getGenre: " . $ffmpegInstance-getGenre()."br" .

"getTrackNumber: " . $ffmpegInstance-getTrackNumber()."br" .

"getYear: " . $ffmpegInstance-getYear()."br" .

"getFrameHeight: " . $ffmpegInstance-getFrameHeight()."br" .

"getFrameWidth: " . $ffmpegInstance-getFrameWidth()."br" .

"getPixelFormat: " . $ffmpegInstance-getPixelFormat()."br" .

"getBitRate: " . $ffmpegInstance-getBitRate()."br" .

"getVideoBitRate: " . $ffmpegInstance-getVideoBitRate()."br" .

"getAudioBitRate: " . $ffmpegInstance-getAudioBitRate()."br" .

"getAudioSampleRate: " . $ffmpegInstance-getAudioSampleRate()."br" .

"getVideoCodec: " . $ffmpegInstance-getVideoCodec()."br" .

"getAudioCodec: " . $ffmpegInstance-getAudioCodec()."br" .

"getAudioChannels: " . $ffmpegInstance-getAudioChannels()."br" .

"hasAudio: " . $ffmpegInstance-hasAudio();

?

7.执行后如果拿到视频的一些信息如下就表示环境配置成功了,那我们就可以开始开发我们的视频转换了。

执行结果:

getDuration: 811.13336181641

getFrameCount: 12167

getFrameRate: 15

getFilename: C:wampwwwtop10.mp4

getComment:

getTitle:

getAuthor:

getCopyright:

getArtist:

getGenre:

getTrackNumber: 0

getYear: 0

getFrameHeight: 240

getFrameWidth: 320

getPixelFormat: yuv420p

getBitRate: 269769

getVideoBitRate:

getAudioBitRate:

getAudioSampleRate: 48000

getVideoCodec: mpeg4

getAudioCodec: mpeg4aac

getAudioChannels: 2

hasAudio: 1

视频截图的话如下方法: //add by aboc

$ff_frame = $ffmpegInstance-getFrame(rand(1,$ffmpegInstance-getFrameCount())); //随机截取某一帧

$gd_image = $ff_frame-toGDImage();

imagejpeg($gd_image,'t.jpg');

imagedestroy($gd_image);

echo 'img src="t.jpg" /';

求大神帮忙解决php-mpeg扩展问题

装php-ffmpeg扩展,ffprobe对象是可以侦测大多数媒体格式信息的。

目前也这样最简单。。

我学过mp4/3gp/flv、mkv、avi的格式,读信息就是要多写一堆文件操作函数而已多花几天,但这样最直接不需要挂扩展。还是用php-ffmpeg省事。不重复发明轮子。

php扩展ffmpeg-php安装出错

php里配置ffmpeg扩展模块,但是没加载成功,去下个包装下吧

参考下

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。