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.

[参考译文] TDA4VH-Q1:有关 TDA4VH 上最大编码器实例和并行压缩延迟的问题 (SDK 11)

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1609675/tda4vh-q1-questions-regarding-maximum-encoder-instances-and-parallel-compression-latency-on-tda4vh-sdk-11

器件型号: TDA4VH-Q1
Thread 中讨论的其他器件: TDA4VH

在测试 TDA4 VH 上的视频压缩功能时、我们发现在使用 64 个通道进行并行测试期间、可以运行的最大实例数为 32。 当数字超过 32 时、会发生错误。 在 SDK 11 源代码中、我们发现定义的 MAX_NUM_Instance 为 32。 如果我们要支持 64 个实例、我们是否需要修改 SDK 源代码?
此外、我们还有两个关于使用 GST-launch-1.0 测试压缩性能的问题:

1.在测试并行压缩时,我们应该同时启动多个 GST-launch-1.0 进程,每个进程都运行一个压缩实例,还是应该启动一个 GST-launch-1.0 进程并在该进程中运行多个压缩实例?


2.在测试压缩延迟时、我们观察到单个实例的延迟为 7.67989e+06、而同时运行四个实例的延迟为 3.27993e+07。 我们的问题是:在并行压缩场景中、多个实例的延迟应该与单个实例的延迟相同、还是预计延迟会增加?

BC15FF7F27C9B6B7EE5C337E89794579.PNGC12A09FF41DC058989F3ED6650AD2250.JPG

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

    您好:  

    如果我们要支持 64 个实例、我们是否需要修改 SDK 源代码?

    Wave5 支持的最大流实例数为每个 VPU 内核 32 个实例。 在 TDA4VH 上有 2 个 VPU 内核、因此、只要在两个内核之间拆分实例数量、就可以在不修改源的情况下支持这种情况。

    1.测试并行压缩时、我们应该同时启动多个 GST-launch-1.0 进程、每个进程都运行一个压缩实例、还是应该启动一个 GST-launch-1.0 进程并在该进程中运行多个压缩实例?

    您可以运行具有多个压缩实例的单个 GStreamer 进程。 下面是一个类似示例:  

    • gst_debug_file=gst_trace.log gst_debug_no_color=1 gst_debug=“gst_Tracer:7" gst_tracers="delay(flags=element):v4l2"“ gst_tracers="delay(flags=element):v4l2" gst-launch-1.0“ gst-launch-1.0  filesrc“ filesrc location=airshow_p720x480_nv12.264! h264parse! TEE name=t \
      T.! 排队! v4l2h264dec capture-io-mode=4! fakevideosink \
      T.! 排队! v4l2h264dec capture-io-mode=4! fakevideosink \
      T.! 排队! v4l2video2h264dec capture-io-mode=4! fakevideosink \
      T.! 排队! v4l2video2h264dec capture-io-mode=4! fakevideosink
    2.在测试压缩延迟时、我们观察到单个实例的延迟为 7.67989e+06、而同时运行四个实例会导致延迟为 3.27993e+07。 我们的问题是:在并行压缩场景中、多个实例的延迟应该与单个实例的延迟相同、还是预计延迟会增加?

    我认为延迟应该大致相同。 事实上,我有一个常见问题, 【常见问题解答】TDA4VH-Q1 :对 延迟 Wave521CL 编解码器 IP 的分析,你可以参考延迟信息。 如果在 gstreamer 日志上运行 python 脚本、则可以看到 v4l2h264/5 编码器/解码器的隔离延迟测量值。

    谢谢您、
    Sarabesh S.

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

    您好、 Sarabesh :

    1、如何在两个 VPU 内核之间分配视频流以进行压缩? 当我们使用 GST-launch-1.0 测试 64 个并行流时、可压缩的最大流数仍然限制为 32 个。 当数字超过 32 时会出现错误。 下图显示了来自 dmesg 的错误消息。

    2、根据您提供的并行压缩命令、我们编写了一个测试脚本、用于测量不同并行级别下的压缩延迟。 我们发现单个流的延迟不同于多个流的延迟;相反,它会随着并行压缩实例的数量成比例增加。 例如、单个流的延迟为 4.85、并行运行四个流时延迟增加到 15.92、如下面的测试结果所示。 您能否帮助确认我们的测试方法是否正确?

    这是我们的测试脚本。谢谢

    #!/bin/bash

    num_streams=1美元

    pipeline =“延迟(flags=pipeline +元素)“ gst_debug=gst_Tracer:7 gst_debug_file='delay_server.tx' gst-launch-1.0 -e “

    pipeline +“ filesrc location=/dev/shm/test_1080p.yuv! \
    rawvideoparse width=1920 身高=1080 格式=nv12 帧速=30/1 色度=bt709! TEE NAME=t “

    对于$(seq 1 $NUM_STREAMS) 中的 I;执行
    流水线+=“t ! 排队! v4l2h265enc output-io-mode=dmabuf! filesink location=output_$I.265“
    已完成

    回显“$pipeline “
    评估“$pipeline “

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

    尊敬的 J G:  

    今天无法回复您。 我会看看,让你知道。

    谢谢、
    Sarabesh S.

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

    尊敬的 Sarabesh:

    对此有任何更新?

    谢谢、
    J. G.

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

    您好、J.G.

    对延迟表示歉意、已占用一些优先任务。

    如何在两个 VPU 内核之间分发视频流以进行压缩? 当我们使用 GST-launch-1.0 测试 64 个并行流时、可压缩的最大流数仍然限制为 32 个。 当数字超过 32 时会出现错误。 下图显示了 dmesg 中的错误消息。

    我应该在上一个回复中对此进行解释、但正如您可以看到我运行的 Gstreamer 命令一样、我调用了两个 v4l2 解码器(即 v4l2h264dec 和 v4l2video2h264dec)  。 您可以通过运行 GST-CHECK-1.0 查看编码器和解码器列表。 您能否尝试  在两个内核中的每一个内核上运行 32 个流。

    [引用 userid=“679390" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1609675/tda4vh-q1-questions-regarding-maximum-encoder-instances-and-parallel-compression-latency-on-tda4vh-sdk-11/6211118 ] 2、根据您提供的并行压缩命令、我们编写了一个测试脚本、用于测量不同并行级别下的压缩延迟。 我们发现单个流的延迟不同于多个流的延迟;相反,它会随着并行压缩实例的数量成比例增加。 例如、单个流的延迟为 4.85、并行运行四个流时延迟增加到 15.92、如下面的测试结果所示。 您能否帮助确认我们的测试方法是否正确?

    我将检查您的测试方法并返回给您。  

    谢谢、
    Sarabesh S.

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

    尊敬的 Sarabesh:


    是否对第二个问题有任何更新?


    谢谢、
    J. G.

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

    到目前为止没有更新。 我不会再跟你说了。“

    谢谢、
    Sarabesh S.

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

    您好、解锁此主题。

    对延迟深表歉意。 您的测试方法看起来确实正确。 但是、我想在我这边运行这个测试、并向您说明为什么会出现这种情况。  

    此致、
    Sarabesh S.