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

8
我需要在本地主机上安装ffmpeg PHP扩展,以便测试我的一些脚本,但我无法弄清楚如何操作。
我使用的是带有PHP 5.2.9-2的WampServer 2.0,我的操作系统是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. 在php.ini文件中添加extension = php_ffmpeg.dll 5. 重新启动所有服务(Apache,PHP ...)
在使用此代码后,我遇到了一个错误:
            $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

此外,我还从上面得到了异常。


1
虽然下面的评论可以帮助您使其工作,但我发现过去跳过FFMPEG扩展并直接调用可执行文件似乎是一个更好的解决方案。 - Brad
你好,请帮忙解决这个问题:http://stackoverflow.com/questions/40608309/copy-step-written-on-stackoverflow-to-install-ffmpeg-on-wamp-not-working。谢谢! - user3833682
7个回答

5

将以下这行添加到您的php.ini文件中

[PHP_ffmpeg]
extension=php_ffmpeg.dll

您可能还需要启用扩展:php_gd2.dll; - shasi kanth
嗨,请帮忙解决这个问题:http://stackoverflow.com/questions/40608309/copy-step-written-on-stackoverflow-to-install-ffmpeg-on-wamp-not-working - user3833682

2

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

  1. 解压 ffmpeg-php-win32-all.zip 文件。
  2. 将 php_ffmpeg.dll 复制到 \wamp\php4\extension\(对于 PHP5,路径为 \wamp\bin\php\ext)。
  3. 将 avcodec.dll 和 avformat.dll 以及包中的其他文件复制到 \windows\system32\。
  4. 编辑 \wamp\apache\apache2.xx\bin\php.ini 文件,添加 extension=php_ffmpeg.dll。
  5. 重启 Apache。

你好,请帮忙解决这个问题:http://stackoverflow.com/questions/40608309/copy-step-written-on-stackoverflow-to-install-ffmpeg-on-wamp-not-working。谢谢! - user3833682

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被关闭。之后您将不会收到错误。


嗨,请帮忙解决这个问题:http://stackoverflow.com/questions/40608309/copy-step-written-on-stackoverflow-to-install-ffmpeg-on-wamp-not-working - user3833682

1

编辑 \wamp\apache\apache2.xx\bin\php.ini 文件 - 添加行 extension=php_ffmpeg.dll

而不是

编辑 \wamp\bin\php\php5.2.9\php.ini 文件 - 添加行 extension=php_ffmpeg.dll


嗨,请帮忙解决这个问题:http://stackoverflow.com/questions/40608309/copy-step-written-on-stackoverflow-to-install-ffmpeg-on-wamp-not-working - user3833682

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

我已经做了那个,并且在php.ini中添加了extension=php_ffmpeg.dll。但它仍然不起作用,我将编辑我的第一篇帖子以包含错误消息。 - Richard Knop
嗨,请帮忙解决这个问题:http://stackoverflow.com/questions/40608309/copy-step-written-on-stackoverflow-to-install-ffmpeg-on-wamp-not-working - user3833682

1

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

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


我已经检查了phpinfo(),发现ffmpeg并不存在,尽管dll文件位于正确的文件夹中并且在php.ini中启用了它,但它没有被加载。Apache错误日志中没有与此问题相关的内容,但PHP错误日志中充满了我第一篇帖子中的错误消息。 - Richard Knop
我有一种感觉,问题可能出在dll文件上,也许它是为旧版本的PHP编译的?但我在互联网上没有找到其他任何ffmpeg Windows构建。 - Richard Knop
是的,我个人从未在除了Ubuntu之外的任何系统上安装过FFMPEG...如果我有一个Windows系统来测试,我会试一试,但我不知道还能告诉你什么,除了尝试自己构建它 :) - Ian Selby
嗨,请帮忙解决这个问题:http://stackoverflow.com/questions/40608309/copy-step-written-on-stackoverflow-to-install-ffmpeg-on-wamp-not-working - user3833682

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错误日志)

还有另一步骤

  1. 打开php.ini文件并查找 ; extension=msql.dll
    在它后面添加
    extension=php_ffmpeg.dll

嗨,请帮忙解决这个问题:http://stackoverflow.com/questions/40608309/copy-step-written-on-stackoverflow-to-install-ffmpeg-on-wamp-not-working - user3833682

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接