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.

[参考译文] TDA4VEN-Q1:V4l2 驱动程序编码、无 p 帧

Guru**** 2434370 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1539855/tda4ven-q1-v4l2-driver-encoding-without-p-frames

器件型号:TDA4VEN-Q1


工具/软件:

大家好、TI 专家

SDK 版本:RTOS SDK 10.0&&Linux 10.0

    从 TRM 中可以看出、H265 编码支持 I/P 切片、但目前、当我们使用 v4l2 驱动程序进行编码时、我们只找到不带 P 帧的 I 帧。 这是为什么? 是否有任何支持输出 p 帧的参数配置?

    然后我打印了 H265 编码数据、每个帧的前 6 个字节始终为 00 00 00 01 46 01 (H)、这似乎不正确。

BR。

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

    您好:

    您能否与我分享用于检查/测试的输入和输出流? 此外、您能否提供所使用的 gstreamer 流水线?

    谢谢、
    Sarabesh S.

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

    尊敬的 Sarabesh S:

    您是否可以与我共享用于检查/测试的输入和输出流?

    数据流应类似于:cam->capture node->LDC node->mosaic node->v4l2 h265enc->rtp send。v4l2 的关键参数配置如下图所示。

    此外、您能否提供使用的 gstreamer 管道?

    为了减少 CPU 使用量、我们没有使用 gstreamer 进行编码。

    BR。

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

    您好、

    您的配置看起来不像仅 I frame。  您能将编码数据流分享给我们吗?

    此致、

    Adam

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

    您好 Adam、

    您的配置看起来不像 I frame。  [/报价]

    我如何确认编码文件?中是否有 p 帧

    您可以将您的编码流分享给我们吗?

    e2e.ti.com/.../v4l2_5F00_tiovx_5F00_encode.rar

    BR。

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

    你(们)好

    我可以在您的流中看到 P 帧

    可以看出 GOP 的大小是 24。 我正在使用此工具: https://github.com/lheric/GitlHEVCAnalyzer

    此致、

    Adam

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

    你(们)好

    使用另一个工具 (https://github.com/virinext/hevcesbrowser/tree/1.0.80.120121 )、我可以看到许多被标记为 P 帧的帧:

    此致、

    Adam

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

    尊敬的 Adam:

    是的、正如您所说、当前编码的流有 p 帧、但此 p 帧的类型为 0x46、而不是预期的 0x1/0x2、这将导致解码器件无法识别 0x46 的 p 帧并丢弃它。

    我们可以使用 GST 命令“GST-launch-1.0 videotestsrc!获取 0x1/0x2 类型的 p 帧。 video/x-raw、width=1280、height=720、帧速率=30/1! v4l2h265enc! h265parse! filesink location=output.h265'。

    使用 v4l2 编码似乎会导致意外的 p 帧类型。 这是为什么?

    v4l2h265enc:                                           

          

    GST ENC:

     

    BR。

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

    您好:  

    我还可以确认编码流具有 p 帧、每 24 帧为 IDR 帧。 我使用了随附的编码文件、并能够通过以下流水线成功解码流:  

    • gst-launch-1.0 filesrc location=/v4l2_tiovx_encode.h265 num-buffers=200! 排队! h265parse! v4l2h265dec! 视频转换! video/x-raw、format=NV12! filesink location=/v4l2_tiovx_decode.yuv

    我无法确定编码的 p 帧有什么意外情况。 如果您想知道 AUD NAL 单元,它 是视频流中的一个独立组件, 有助于描绘新帧的开始。 P 帧仍然存在于编码流中、NAL 单位类型为 1、它们只是以 AUD 作为前缀、如下面的屏幕截图所示。

    谢谢您、
    Sarabesh S.

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

    您好、 Sarabesh S.

    我想我明白您的意思。
    目前是否需要使用 AUD NAL 装置? 有没有办法让我们选择是否在 p 框架之前添加 AUD NAL 单位? 因为目前似乎有大量 AUD NAL 单位,并且 p 帧的长度相对较短。
    此外、您能否提供上面用作查看编码和解码流的工具的上层计算机程序。

    BR。

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

    你(们)好

    尝试将其添加到配置中:

    请参阅以下 e2e: SK-AM62P-LP:灰色数字在室温下出现、在特殊情况下比特率失控、 因为我认为它们用于同一个用例。

    此外、您能否提供上面使用的上层计算机程序作为查看编码和解码流的工具

    我相信 Sarabesh 使用的是非免费的商业工具。 可以查看此 https://www.interrasystems.com/vega-media-analyzer.php#trial 和以下地址:https://www.elecard.com/products/video-analysis/streameye#

    此致、

    Adam

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

    您好、

    谢谢您、Adam 和   Sarabesh S。问题已解决。

    BR。