首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将GOP大小设置为输入帧率的倍数?

如何将GOP大小设置为输入帧率的倍数?
EN

Stack Overflow用户
提问于 2020-09-03 22:01:44
回答 1查看 301关注 0票数 0

问题:

如何将GOP大小设置为输入帧率的倍数?

上下文:

我理想的GOP大小公式是source_fps * 2。我的源的帧率可以是30或60帧/秒,所以我无法设置一个对两者都有效的静态值。ffmpeg公开了一个我可以使用的变量吗?我知道在对iwih等变量使用-vf选项时,您可以获得有关源输入的元数据。FPS有没有类似的方法?

其中GOP大小和keyint_min是硬编码的示例命令:

代码语言:javascript
运行
复制
ffmpeg -i <input> -keyint_min 120 -g 120 -f dash /path/to/out.mpd

所需的命令,其中e大小和keyint_min基于源帧速率:

代码语言:javascript
运行
复制
ffmpeg -i <input> -keyint_min source_framerate * 2 -g source_framerate * 2 -f dash /path/to/out.mpd
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-03 23:11:03

-g仅接受帧间隔。

FFmpeg有一个-force_key_frames选项,可以按照固定的时间间隔或更复杂的逻辑强制KFs。查看其在https://ffmpeg.org/ffmpeg.html#Advanced-Video-options中的条目

添加

代码语言:javascript
运行
复制
-force_key_frames expr:gte(t,n_forced*2)

强制每2秒执行一次关键帧。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63725248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档