FFMPEG无法占用帧并保存为图像

时间:2013-02-21 13:32:20

标签: php ffmpeg

我正在尝试从视频帧中保存图像并将其另存为jpeg。 此功能适用于较小的视频文件,但如果视频超过10分钟,则不会保存jpeg图像。在trans之前出现错误。

public function VideoToJpeg($localVideoPath, $localOutImgPath)
{
    $Name = dirname(__FILE__) . "/ffmpeg";
    $Str = "$Name -i \"$localVideoPath\" -an -ss 00:00:03 -an -r 1 -vframes 1 -y \"$localOutImgPath\"";

    exec($Str);
}

这是我从ffmpeg

获得的错误
[NULL @ 0370e760] Unable to find a suitable output format for 'path'
: Invalid argument

2 个答案:

答案 0 :(得分:2)

从您的问题中不清楚,但我认为$localOutImgPath$localVideoPath参数传递了一些错误的值,因为错误说明了这一点:

[NULL @ 0370e760] Unable to find a suitable output format for 'path'

请检查一下。

FFmpeg: The ultimate Video and Audio Manipulation ToolFFmpeg and x264 Encoding Guide了解更多示例。

答案 1 :(得分:0)

不确定这是否会有所帮助,但我使用以下PHP软件包取得了成功(尽管我从未遇到过你提到的问题):

http://ffmpeg-php.sourceforge.net/

另一种选择可能是更改php内存分配设置:

http://drupal.org/node/207036

您可能没有使用Drupal,但该页面上的大多数建议都是相关的并且处理PHP本身(而不是Drupal)。