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.

[参考译文] TDA4VM:图像格式转换引起的视频流延迟问题

Guru**** 2422620 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1537447/tda4vm-the-video-stream-delay-issue-caused-by-image-format-conversion

器件型号:TDA4VM


工具/软件:

您好、

目前、我正在开发一个通过 4 个摄像头周期性获取视频流的项目。 但是、在使用 GStreamer 时出现了一个问题:经过 tiovxisp 插件后、只能输出 NV12 图像格式、而我们的工程中使用了其他 YUV 格式。

1. 我尝试使用视频转换插件进行图像格式转换,但它导致了 视频流延迟。

2. 如何通过 ISP 处理视频,但以其他 YUV 格式(如 UYVY)输出图像,而不是 NV12 ?

谢谢!

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

    您好、

    [引述 userid=“62991" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1537447/tda4vm-the-video-stream-delay-issue-caused-by-image-format-conversion

    1. 我尝试使用视频转换插件进行图像格式转换,但它导致了 视频流延迟。

    [/报价]

    您可以尝试添加队列以查看它们是否有助于解决延迟问题。 您能否查看/发送 GStreamer 占用的 CPU 数量?

    [引述 userid=“62991" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1537447/tda4vm-the-video-stream-delay-issue-caused-by-image-format-conversion

    2. 如何通过 ISP 处理视频,但以其他 YUV 格式(如 UYVY)输出图像,而不是 NV12 ?

    [/报价]

    tiovxisp 插件仅支持以下格式:

    • GRAY8.
    • GRAY16_LE
    • NV12
    • I420

    您可以在此处阅读文档: https://github.com/TexasInstruments/edgeai-gst-plugins/wiki/tiovxisp 

    您可以尝试修补并重新编译源代码以添加另一种格式: https://github.com/TexasInstruments/edgeai-gst-plugins/blob/main/ext/tiovx/gsttiovxisp.c 

    此致、
    Jared

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

    您好、

    感谢您的答复。

     ‘、我在“gst_parse_launche"中“中添加了队列和缓存、但视频流仍有延迟、CPU 使用率非常高。

    2.测试后, NV12 和 UYVY 图像格式的 CPU 使用率如下图所示,分别为 45.7%和 191.4%。图中的“应用程序“是指我的程序。

    3.您的意思是 tiovxisp 可以添加对其他 YUV 格式的输出支持吗? 我尝试了修改下图中的宏定义、但在测试后遇到错误。 您能告诉我如何正确添加它们吗?

    错误:

      1507.681734 s:  VX_ZONE_ERROR:[tivxAddKernelVpacVissValidate:631] NV12_P12 on 'output0' and YUV422 on 'output2' are not possible
      1507.681759 s:  VX_ZONE_ERROR:[ownGraphNodeKernelValidate:556] node kernel validate failed for kernel com.ti.hwa.vpac_viss at index 0
      1507.681766 s:  VX_ZONE_ERROR:[vxVerifyGraph:2041] Node kernel Validate failed
      1507.681773 s:  VX_ZONE_ERROR:[vxVerifyGraph:2213] Graph verify failed
      1507.682043 s:  VX_ZONE_ERROR:[ownReleaseReferenceInt:598] Invalid reference
    ERROR: from element /GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0: Unable to init TIOVX module
    Additional debug info:
    ../gst-libs/gst/tiovx/gsttiovxmiso.c(1512): gst_tiovx_miso_negotiated_src_caps (): /GstPipeline:pipeline0/GstTIOVXISP:tiovxisp0
    Execution ended after 0:00:00.837854155
    Setting pipeline to NULL ...
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    

    谢谢!

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

    您好、

    此问题已解决。 非常感谢! 我还有一个问题要问你:

    1.如果我的 SDK 不是 EdgeAI 版本、而是纯 Linux 版本、我是否仍可以使用 GStreamer 命令来捕获图像?

    2.是否可以将 EdgeAI 模块移植到纯 Linux SDK?

    谢谢!

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

    您好、

    您能告诉我您的问题是如何解决的吗?

    [引述 userid=“62991" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1537447/tda4vm-the-video-stream-delay-issue-caused-by-image-format-conversion/5915150 #5915150“]

    1.如果我的 SDK 不是 EdgeAI 版本、而是纯 Linux 版本、我是否仍可以使用 GStreamer 命令来捕获图像?

    [/报价]

    它可以捕获原始图像、但无法使用 tiovxisp gstreamer 插件。

    [引述 userid=“62991" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1537447/tda4vm-the-video-stream-delay-issue-caused-by-image-format-conversion/5915150 #5915150“]

    2.是否可以将 EdgeAI 模块移植到纯 Linux SDK?

    [/报价]

    这是可能的、但需要重新构建插件并添加正确的内存映射。

    如果您有任何其他问题、请开一个新 TT。

    此致、
    Jared