FFMPEG 无法取帧并另存为图像
Posted
技术标签:
【中文标题】FFMPEG 无法取帧并另存为图像【英文标题】:FFMPEG unable to take frame and save as image 【发布时间】:2013-02-06 20:29:29 【问题描述】:我正在尝试保存视频帧中的图像并将其保存为 jpeg。 此功能适用于较小的视频文件,但如果视频超过 10 分钟,则不会保存 jpeg 图像。和之前一样出现错误。
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
【问题讨论】:
出现什么错误?An error comes up
?那个错误会是......?
脚本的另一部分是将任何视频从例如 mp4 编码到 flv 容器并将其发送到 red5 的流文件。这样我可以看到图像并且视频可以正常播放。当视频超过十分钟图像未转换,并且在流目录中,flv.beforetrans 出现在视频流下
您仍然缺少 FFmpeg 的完整未剪切输出
尝试记录$localOutImgPath
的值。看看结果是什么。我怀疑它会是字符串"path"
。
【参考方案1】:
您的问题尚不清楚,但我认为$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 了解更多示例。
【讨论】:
【参考方案2】:不确定这是否会有所帮助,但我已经成功使用了以下 php 包(尽管我从未遇到过你提到的问题):
http://ffmpeg-php.sourceforge.net/
另一种选择可能是更改 php 内存分配设置:
http://drupal.org/node/207036
您可能没有使用 Drupal,但该页面上的大多数建议都与 PHP 本身相关(而不是 Drupal)。
【讨论】:
以上是关于FFMPEG 无法取帧并另存为图像的主要内容,如果未能解决你的问题,请参考以下文章