我的问题是下一个:我知道MediaFormat.KEY_I_FRAME_INTERVAL是I帧将出现的以秒为单位的间隔(整数)。
因此,如果我将值赋予1,并且我的帧速率为15,则GOP大小将为15,如果帧速率为30,则GOP大小将为30。
因此,在参数MediaFormat.KEY_I_FRAME_INTERVAL是一个整数的情况下(不能使用30的帧速率将值0.5赋予gopsize 15帧),是否有任何解决方案将其配置为特定的GOP大小?
答案 0 :(得分:2)
正如您在问题中所述,每个KEY_I_FRAME_INTERVAL * KEY_FRAME_RATE
帧都会显示关键帧。因此,如果您希望GOP大小为15,请指定间隔为1,帧速率为15,然后以30fps发送视频。
这引出了一个问题:帧速率对编解码器满足比特率目标的能力有何影响?我知道有些设备会根据presentation time stamps而不是固定的每秒帧数来调整质量,这样可以让一切都运行得很好。然而,似乎并非所有设备都以这种方式工作。
不幸的是,MediaCodec
没有提供更灵活的方式来指定GOP大小。