php安装ffmpeg扩展,ffmpeg库安装

发布时间:2022-11-17

本文目录一览:

  1. 有谁在phpstudy下安装过ffmpeg的php扩展
  2. 求大神帮忙解决php-mpeg扩展问题
  3. 怎样在windows下配置ffmpeg-php

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

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

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

装php-ffmpeg扩展,ffprobe对象是可以侦测大多数媒体格式信息的。 目前也这样最简单。。 我学过mp4/3gp/flv、mkv、avi的格式,读信息就是要多写一堆文件操作函数而已多花几天,但这样最直接不需要挂扩展。还是用php-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. 将四个文件拷贝到windows\system32文件夹下面(小插曲:之前自己再配置时候按照网上的文章只拷贝两个文件 avcodec-51.dll, avformat-51.dll到这个文件,结果发现并不能配置成功。后来将后面avutil-49.dll, pthreadGC2.dll全部拷贝过去就成功了,很有可能这四个文件是有一定关联使用的。)
    avcodec-51.dll, avformat-51.dll, avutil-49.dll, pthreadGC2.dll
    
  4. 然后需要到apache\bin文件下找到php.ini文件下允许使用dll文件加入extension=php_ffmpeg.dll 并允许 extension=php_gd2.dllextension=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:\wamp\www\top10.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:\wamp\www\top10.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" />';