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.

[参考译文] AM62P-Q1:使用 H265编码时如何限制最大比特率?

Guru**** 2394295 points
Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1489484/am62p-q1-how-to-limit-the-max-bitrate-when-encoding-with-h265

器件型号:AM62P-Q1
主题中讨论的其他器件:AM62P

工具与软件:

尊敬的专家:

客户遇到使用 SDK 10.0的 am62p 编码器的问题。 它们存在于一些复杂的环境中、比特率会非常高、编码器将停止工作。 下面是客户正在使用的设置。 它们直接使用 ioctl、而不是 gstreamer。  

V4L2_CID_MPEG_VIDEO_HEVC_LEVEL:V4L2_MPEG_VIDEO_HEVC_LEVEL_4_1
V4L2_CID_MPEG_VIDEO_bitrate_mode:V4C2_MPEG_VIDEO_bitrate_mode_VBR
V4C2_CID_MPEG_VIDEO_FRAME_RC_ENABLE:1.
V4L2_CID_MPEG_VIDEO_HEVC_I_FRAME_QP:30
V4C2_CID_MPEG_VIDEO_HEVC_CONST_INTRA_PRED:1
V4L2_CID_MPEG_VIDEO_HEVC_STRONG_SMACING:1
V4L2_CID_MPEG_VIDEO_HEVC_MAX_NUM_MERGE_MV_UNSCAS1:2
V4C2_CID_MPEG_VIDEO_HEVC_TMV_PRECISION:1
V4L2_CID_MPEG_VIDEO_prepend_SPPS_TO_IDR:1
V4C2_CID_MPEG_VIDEO_AU_DIVIDER:0
V4L2_CID_MPEG_VIDEO_HEVC_MIN_QP:8
V4C2_CID_MPEG_VIDEO_HEVC_MAX_QP:51
v4l2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:format.fmt.pix_mp.pixelformat = fmt;format.fmt.pix_mp.width = w;format.fmt.pix_mp.height = h;format.fmt.pix_mp.colorspace = V4L2_colorspace_REC709;
V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:CAPTURE_CODEC
V4L2_CID_MPEG_VIDEO_HEVC_REFRES_PERIOD:5

他们已尝试将  V4L2_CID_MPEG_VIDEO_BITRATE_MODE 设置为 CBR、但它的剂量不起作用。

他们检查比特率输出的方式是通过 am62p 上的 rtsp 发送流、并使用 VLC 获取流并获取比特率统计信息。  

此致、

Adam

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

    你(们)好  

    我尝试了运行一些 gstreamer 流水线、以查看是否可以通过设置 VIDEO_BITRATE_MODE 来控制比特率:

    gst-launch-1.0   v4l2src device=/dev/video2 io-mode=dmabuf num-buffers=1000 ! queue !  \
    video/x-raw, width=640,height=480, format=YUY2, framerate=30/1 ! \
    ticolorconvert ! video/x-raw, format=NV12, width=640, height=480, framerate=30/1, interlace-mode=progressive, colorimetry=bt601 ! \
    v4l2h265enc extra-controls="enc, video_gop_size=(int)9, frame_level_rate_control_enable=1,video_bitrate=8000000, video_bitrate_mode=1" ! \
    h265parse ! mp4mux ! filesink location = test.mp4

    我检查了媒体信息:

    比特率高达20,000,000。  

    是否有办法限制最大比特率?

    此致、

    Adam

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

    您好!

    此外、我们需要一种转储编码器寄存器的方法来检查参数是否设置正确。 有人可以帮助这个要求吗?

    此致、

    Adam

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

    您好、Adam、  

    我将研究是否有任何工具需要打印该信息、但我认为 GStreamer 和 V4L2将其抽象出来了。 我将就此向您介绍。

    谢谢!
    Sarabesh S.  

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

    您好、Adam、

    将 Vbv_BUFFER_SIZE 更改为200您可以限制比特率并且不再看到比特率高达20Mbps 是正确的吗? 是否可以关闭?

    此致、

    Suren