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