This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] [参考译文] [常见问题解答] TDA2SX:如何在 IVAHD 上配置 H.264编码器恒定比特率(CBR)和可变比特率(VBR)?

Guru**** 2558250 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/948856/faq-tda2sx-how-do-i-configure-the-h-264-encoder-constant-bit-rate-cbr-and-variable-bit-rate-vbr-on-ivahd

器件型号:TDA2Sx

我从用户指南中了解到、IVAHD 编码器支持此功能、您能否共享相同的步骤。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这适用于以下平台

    平台:Jacinto-6/TDA2x/TDA3x/AM57xx/Sitara

    编解码器:H.264编码器

    最新版本:  可在 https://git.ti.com/cgit/ivimm/ipumm/tree/extrel/ti/ivahd_codecs/packages/ti/sdo/codecs/h264enc 上找到

     

    您可以在用户指南中找到所有编解码器参数配置和其他详细信息(请参阅下面的链接)。

    编码器已经支持 CBR 和 VBR。 本主题将详细介绍如何使用 CBR 和 VBR 配置编码器。  

    下文简要说明。

     

    CBR、恒定比特率:正如名称所示、每个编码帧中几乎有相似的字节数。 为每个编码帧生成的字节将具有最小的波动。 初始的几个帧可能会发生变化、速率控制算法将保持稳定、以保持 targetBitrate 处于控制状态。 用户必须根据要求配置 targetBitrate。  

    特定用例中可能有以下组件处于管道中:摄像头捕获->编码->后处理单元->传输

    假设传输可能需要相同数量的字节才能通过网络发送。 如果每个帧具有恒定位(波动最小)、则可以对编码帧执行后处理、并获得相同数量的每帧/数据包字节数。

     

    VBR、可变比特率:另一方面、如果编码器配置为 VBR、则场景更复杂的帧将使用更多字节进行编码、而复杂性更低的帧将具有更少的字节数量。 根据用户配置实现 targetBitrate。 速率控制算法将根据场景的复杂性来决定这一点。

    在这里、我们可以假设视频监控是一个用例、当视频(低复杂性)帧上没有运动时、可以使用较低的字节进行编码。 当存在运动(复杂数据)时、可以使用更多字节对帧进行编码、以了解更多详细信息。

    除了其他参数设置外、用户还必须设置这些附加参数才能将 H.264编码器配置为:

           CBR–恒定比特率:

    编码预设 = 3或 XDM_USER_Defined
    RateControlPreset = 5或 IVIDEO_USER_defined
    rateControlParametersPreset = 1或 IH264_RATECONTROLPARAMS_userdefined
    rcAlgo = 1 (CBR)或 IH264_RATECONTROL_PRC_LOW_DELAY
    初始缓冲器电平 =(0.5 * targetBitRate)
    HRDBufferSize =(0.5 * targetBitRate) 

     

    用户可以检查在每个帧中生成的字节、以了解 CBR 是否已通过使用一些离线流分析器生效。

     VBR      –可变比特率:

    编码预设 = 3或 XDM_USER_Defined
    RateControlPreset = 5或 IVIDEO_USER_defined
    rateControlParametersPreset = 1或 IH264_RATECONTROLPARAMS_userdefined
    rcAlgo = 0 (VBR)或 IH264_RATECONTROL_PRC
    初始化缓冲器电压 =(2 * targetBitRate)
    HRDBufferSize =(2 * targetBitRate) 

    当对复杂场景进行编码时、用户应在视频中看到更大的帧大小和更低的字节。 这将确认 VBR 按预期工作。

    :编解码器的默认行为是 VBR。

    如需快速参考、请点击此处查看其他文档:

    发行说明  : https://git.ti.com/cgit/ivimm/ipumm/tree/extrel/ti/ivahd_codecs/packages/ti/sdo/codecs/h264enc/docs/H264_Encoder_HDVICP2_ReleaseNotes.pdf

    数据表       : https://git.ti.com/cgit/ivimm/ipumm/tree/extrel/ti/ivahd_codecs/packages/ti/sdo/codecs/h264enc/docs/H264_Encoder_HDVICP2_DataSheet.pdf

    用户指南       : https://git.ti.com/cgit/ivimm/ipumm/tree/extrel/ti/ivahd_codecs/packages/ti/sdo/codecs/h264enc/docs/H264_Encoder_HDVICP2_UserGuide.pdf