PHPVideoToolkit getFFmpegInfo()返回一个包含空编解码器的数组

时间:2012-11-02 12:25:14

标签: ffmpeg centos

我安装了ffmpeg,ffmpeg -codecs返回了一个庞大的编解码器列表。但输出以下代码:

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

就是这样:

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

            [audio] => Array
                (
                )

            [subtitle] => Array
                (
                )

        )

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

2 个答案:

答案 0 :(得分:1)

也许您尚未配置<或>错误配置 PHPVIDEOTOOLKIT_FFMPEG_BINARY 常量;它应该设置为ffmpeg命令的完整路径。例如:

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

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

答案 1 :(得分:0)

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

原件:

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

对于我的服务器:

/([DEVASI\.]{4}) ([A-Za-z0-9\_]+) (.+)/