4

我已经安装了 ffmpeg 并ffmpeg -codecs返回了大量的编解码器。但输出以下代码:

    $ffmpeg = $toolkit->getFFmpegInfo(FALSE);
    print_r($ffmpeg);

这是:

  ...
  [codecs] => Array
        (
            [video] => Array
                (
                )

            [audio] => Array
                (
                )

            [subtitle] => Array
                (
                )

        )

它没有找到任何编解码器。有什么建议吗?(我已经从源代码安装了ffmpeg)

4

2 回答 2

1

也许您没有配置(或者您配置错误)PHPVIDEOTOOLKIT_FFMPEG_BINARY常量;它应该设置为ffmpeg命令的完整路径。例如:

define('PHPVIDEOTOOLKIT_FFMPEG_BINARY', '/usr/bin/ffmpeg');

要确定正确的路径,请执行命令which ffmpeg
如果您使用的是 PHP5,您可以在examples/php5/example09.php脚本中找到该getFFmpegInfo()函数的使用示例。 在运行示例脚本之前,您必须编辑配置文件examples/example-config.php并使用适合您系统的正确路径调整各种。 查看DEMOS文件以了解每个示例的作用。
define

于 2012-11-10T21:56:41.027 回答
0

我发现我使用的 FFMPEG 版本以不同的格式输出编解码器,在 getFFmpegInfo 方法中,我必须修改以下正则表达式:

原来的:

/ ((?:[DEVAST ]{6})|(?:[DEVASTFB ]{8})|(?:[DEVASIL\.]{6})) ([A-Za-z0-9\_]+) (.+)/

对于我的服务器:

/([DEVASI\.]{4}) ([A-Za-z0-9\_]+) (.+)/
于 2013-02-12T03:10:45.380 回答