如何在WampServer 2.0(Windows XP)中安装FFMpeg

时间:2009-07-23 16:23:30

标签: php ffmpeg video-streaming wampserver

我需要在我的localhost上安装ffmpeg PHP扩展,这样我可以测试一些我的脚本,但是我很难搞清楚如何做到这一点。

我有WampServer 2.0和PHP 5.2.9-2,我的操作系统是Windows XP。请有人给我一步一步的指示。

我在这里找到了一些Windows版本:http://sourceforge.net/projects/ffmpeg-php/files/

但我不知道下载哪一个以及如何处理文件。

编辑:

到目前为止我做了什么:

  1. 下载ffmpeg_new
  2. 将php_ffmpeg.dll从php5文件夹复制到C:\ wamp \ bin \ php \ php5.2.9-2 \ ext
  3. 将文件从common复制到windows / system32文件夹
  4. 将extension = php_ffmpeg.dll添加到php.ini文件
  5. 重新启动所有服务(Apache,PHP ...)
  6. 使用此代码后出现错误:

                $extension = 'ffmpeg';
                $extension_soname = 'php_ffmpeg.dll';
                $extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;
    
                // load extension
                if(false === extension_loaded($extension)) {
                    if (false === dl($extension_soname))
                        throw new Exception("Can't load extension $extension_fullname\n");
                }
    

    错误:

    Warning: dl() [function.dl]: Not supported in multithreaded Web servers - use extension=ffmpeg.dll in your php.ini in C:\wamp\www\hunnyhive\application\modules\default\controllers\MyAccountController.php on line 314
    

    另外,我也从上面得到例外。

7 个答案:

答案 0 :(得分:5)

将此行添加到您的php.ini文件

[PHP_ffmpeg]
extension=php_ffmpeg.dll

答案 1 :(得分:2)

http://sergey89.ru/files/ffmpeg-php-win32-all.zip

  1. unpack ffmpeg-php-win32-all.zip
  2. 将php_ffmpeg.dll复制到\​​ wamp \ php4 \ extension \(对于php5,它是 \瓦帕\ BIN \ PHP中\ EXT)
  3. 复制avcodec.dll& avformat.dll和其他任何打包到\ windows \ system32 \
  4. 编辑\ wamp \ apache \ apache2.xx \ bin \ php.ini - 添加行扩展名= php_ffmpeg.dll
  5. 重启Apache。

答案 2 :(得分:1)

  1. 下载ffmpeg_new
  2. 将php5文件夹中的php_ffmpeg.dll复制到wamp / php / ext文件夹
  3. 将文件从common复制到windows / system32文件夹

答案 3 :(得分:1)

看起来问题不在于ffmpeg ...警告是关于使用dl函数的。多线程PHP不支持任何PHP扩展的动态加载,所以你需要确保它的.dll文件放在你的其他php模块所在的任何地方。

你真正需要弄清楚的是,尽管你的php.ini中有“extension = php_ffmpeg.dll”指令,但扩展无法加载。通常,您可以在apache错误日志中看到任何启动错误(例如PHP说它无法加载库)。另外,你看了一下phpinfo()并且验证了ffmpeg不存在(不应该是因为extension_loaded返回false),但也许它在不同的名称下(你也可以使用get_loaded_extensions())

答案 4 :(得分:1)

修改\wamp\apache\apache2.xx\bin\php.ini - 添加行extension=php_ffmpeg.dll

INSTEAD OF

修改\wamp\bin\php\php5.2.9\php.ini - 添加行extension=php_ffmpeg.dll

答案 5 :(得分:1)

; Whether or not to enable the dl() function.  The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
; http://php.net/enable-dl
enable_dl = Off

这些是php.ini中的行。确保enable_dl已关闭。之后你不会得到错误。

答案 6 :(得分:0)

MirKo是正确的,但我想补充一下

  1. 从这里下载已编译的dll:http://sergey89.ru/files/ffmpeg-php-win32-all.zip
  2. 解压缩并将php_ffmpeg.dll放到php ext文件夹
  3. 将其余的dll放到windows / system32文件夹
  4. 重新启动apache并运行phpinfo() - 你应该看到ffmpeg扩展名(顺便说一下,如果你正在寻找错误wamp-> php-> php错误日志,你必须检查php不是apache错误日志)
  5. 还有另一个步骤

    1. 打开php.ini文件并查找                            ;延长= msql.dll
      之后添加
                                 延长= php_ffmpeg.dll
相关问题