使用ffmpeg从flv视频在给定时间生成图像

时间:2012-07-10 04:29:23

标签: ffmpeg

我在ffmpeg中使用以下命令来生成缩略图。它工作得很完美。

ffmpeg -i videofile.flv -an -ss 01:00:00 -an -r 1 -vframes 1 -y ".$outputdir."/".$groupid."_".$i.".jpg

但问题是我有一个视频的不同寻道时间,从那里必须生成缩略图,现在我使用一个运行速度非常慢的循环。我找到了原因,因为ffmpeg寻求每个命令的给定时间。我试过这个过程,但没有效果。无论如何我可以优化命令,以便可以避免重复搜索吗?

3 个答案:

答案 0 :(得分:2)

试试这个:

ffmpeg -ss 01:00:00 -i videofile.flv ....

使用-ss作为输入选项通常更快,但可能不太准确。 FFmpeg将立即首先搜索,然后以您想要的-ss值开始解码;但是,如果使用-ss作为输出选项,它可能不会帧精确,它会在-ss值之前解码所有内容。

答案 1 :(得分:0)

经过大量研究,发现它不可能。 FFMPEG应该考虑为此添加选项...它可以节省大量的执行时间......

答案 2 :(得分:0)

如果您首先定义-i和更高版本-ss或其他方式,它会产生很大的不同。有关更多信息,请查看此帖子的答案:

another question at stack overflow.com: ffmpeg weird behaviour

HTH