【问题标题】:Bitrate is not getting limited for H.264 HW accelerated encode on iOS using the VideoToolbox API使用 VideoToolbox API 在 iOS 上的 H.264 硬件加速编码不受比特率限制
【发布时间】:2016-04-28 20:17:36
【问题描述】:

在 iOS 上使用带有属性 kVTCompressionPropertyKey_AverageBitRate 的 VideoToolbox API 进行 H.264 硬件加速编码的比特率不受限制。

据观察,尽管编码器的比特率配置正确,但 H.264 硬件加速编码的比特率有时高达 4mbps(对于 1280x780、640x360)。 这个高比特率值不在可接受的范围内。 *有一个用于设置比特率的属性,即 videoToolbox 中可用的 kVTCompressionPropertyKey_AverageBitRate。文档说“这不是硬性限制;比特率可能会超过这个峰值”。

我尝试了以下两件事: 1. 将比特率和设置数据率设置为一些硬编码值,作为 init 中 VTCompressionSessionCreate 的 encoderSpec 属性的一部分。删除了初始化后比特率的任何重新配置​​/设置。 2. 使用 VTSessionSetProperty 运行时设置比特率和设置数据率

两者似乎都不起作用。

有没有办法将比特率限制在一定的范围内?非常感谢任何帮助。

【问题讨论】:

  • 你有没有弄清楚这里发生了什么?我也面临同样的问题。

标签: encode hardware-acceleration encoder video-toolbox


【解决方案1】:

如果您处理运动场景,4 Mbps 或许是一个合适的值。在非实时情况下,我认为您应该尝试将 Profile 配置为 High 级别 5,将 H264EntropyMode 设置为 CABAC 并扩展 MaxKeyFrameInterval 键的值。

【讨论】:

    猜你喜欢
    • 2012-02-16
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-25
    • 2014-10-01
    • 2011-08-18
    • 1970-01-01
    相关资源
    最近更新 更多