我正在尝试从视频帧中保存图像并将其另存为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
答案 0 :(得分:2)
从您的问题中不清楚,但我认为$localOutImgPath
和$localVideoPath
参数传递了一些错误的值,因为错误说明了这一点:
[NULL @ 0370e760] Unable to find a suitable output format for 'path'
请检查一下。
见FFmpeg: The ultimate Video and Audio Manipulation Tool和 FFmpeg and x264 Encoding Guide了解更多示例。
答案 1 :(得分:0)
不确定这是否会有所帮助,但我使用以下PHP软件包取得了成功(尽管我从未遇到过你提到的问题):
http://ffmpeg-php.sourceforge.net/
另一种选择可能是更改php内存分配设置:
您可能没有使用Drupal,但该页面上的大多数建议都是相关的并且处理PHP本身(而不是Drupal)。