FFmpeg 静态关键帧速率
我有一个关于 ffmpeg 使用的问题。每次当我尝试将视频文件转换为 一些不同的格式,输出文件获取静态关键帧序列。
我的意思是关键帧出现在12帧的距离处。我知道它由参数 -g 控制,您可以将其更改为任何其他数字。
ffmpeg -i 1.avi -vcodec mpeg4 -b 2000000 out.avi
我相信应该有某种方法可以使关键帧以不均匀的间隔出现。这些间隔应该由编解码器计算,并且应该基于视频文件中的图像变化。因此,关键帧应该仅在需要时插入,但在 N 帧之后不能一致插入。
有人可以向我解释一下如何使用 ffmpeg 完成这种“智能”编码吗? 谢谢
解决方案:好的,我一直在寻找非常简单的解决方案。如果将 -g 设置为零,ffmpeg 将根据视频镜头和比特率选择关键帧
I have a question about ffmpeg usage. Every time when I trying to convert video files into
some different format, output file getting static keyframe sequence.
What I mean is that keyframes appear at the distance of 12 frames. I know that its controllerd by parameter -g that you can change to any other number.
ffmpeg -i 1.avi -vcodec mpeg4 -b 2000000 out.avi
I believe there should be some way to make keyframes appear on uneven intervals. These interval should be calculated by codec, and it should be based on image changes in the video file. So keyframes should be inserted only when they needed, but not consistently after N frames.
Can somebody please explain to me how this "smart" encoding can be done with ffmpeg ?
Thank you
SOLUTION: ok what I'ev been looking for has very simple solution. If you set -g to zero, ffmpeg will choose keyframes based on the video shots and bitrate
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果将 -g 设置为零,ffmpeg 将根据视频镜头和比特率选择关键帧
If you set -g to zero, ffmpeg will choose keyframes based on the video shots and bitrate