ffmpeg将avi分成已知帧速率的帧

我发布了这个作为评论在this related thread下。然而,他们似乎还没有受到重视=(ffmpeg将avi分成已知帧速率的帧

我用

ffmpeg -i myfile.avi -f image2 image-%05d.bmp 

分裂myfile.avi到存储.bmp文件帧。这似乎只是不大的工作。我的录制视频时,我记录在1000fps的速度和视频竟然是2min29sec长。如果我的数学是正确的,应该达到总149,000帧整个视频。但是,当我跑

ffmpeg -i myfile.avi -f image2 image-%05d.bmp 

我只获得4472个文件。我怎样才能得到原来的149k帧?

我也试图通过做

ffmpeg -i myfile.avi -r 1000 otherfile.avi 

我原来的AVI的帧速率转换为1000fps的,但这似乎并没有解决我的问题。

回答:

ffmpeg -i myfile.avi -r 1000 -f image2 image-%07d.png 

我不确定输出150k bmp文件将是一个好主意。也许PNG是够好的?

回答:

你的数学的第一部分是好的,2分29秒约为149秒。以1000 fps制作149000帧。然而,你的输出文件名只有5个位置,其中149000有6个位置,所以试试“image-%06d.bmp”。

然后是磁盘大小:你的图像适合在磁盘上吗?使用bmp,每张图片都使用自己的大小。您可以尝试使用jpeg图片,它们的压缩效果要好10倍。

另一个想法:如果ffmpeg没有找到(合理的)帧速率,它会下降到每秒25或30帧。您可能需要指定它。这样做的源和目标,请参见手册页(man ffmpeg在UNIX上):

To force the frame rate of the input file (valid for raw formats 

only) to 1 fps and the frame rate of the output file to 24 fps:

ffmpeg -r 1 -i input.m2v -r 24 output.avi

对于它的价值:我用ffmpeg -y -i "video.mpg" -sameq "video.%04d.jpg"我的视频分割为图片。 -sameq是强制jpeg的质量合理,-y是为了避免覆盖问题。对于你:

的ffmpeg -y -r 1000 -i “myfile.avi” -sameq “图像%06d.jpg。”

回答:

我认为,这里有一个误解:一个HS视频系统的输出不太可能具有1000fps的输出帧速率,但是像30(或50/60)fps那样相当正常。除了以这种速度超载大多数视频播放器之外,以与录制速度相同的速度显示序列会起反作用。基本上:1秒@ 1000 fps输入就像33秒@ 30 fps输出。

在正常播放时,录制的场景持续时间实际上是2:29分钟(导致视频在正常速率下~82分钟),或者花费了4.5秒(4472帧),这是2:29分钟?

以上是 ffmpeg将avi分成已知帧速率的帧 的全部内容, 来源链接: utcz.com/qa/262670.html

回到顶部