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.

[参考译文] SK-AM62-LP:在 MIPI-CSI2 摄像头流水线中、摄像头帧以更高的帧速率丢弃。

Guru**** 2589265 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1571315/sk-am62-lp-in-the-mipi-csi2-camera-pipeline-camera-frames-are-dropped-at-higher-frame-rates

器件型号:SK-AM62-LP


工具/软件:

尊敬的团队:

我们正在测试 MIPI-CSI2 摄像头并遇到以下警告GRAY8、并且在以格式、分辨率1120x1360和帧速率运行流水线时视频不流畅 30/1.
/usr/base/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c src (3147):gst_base_sink_is_too_late ():/GstPipeline:pipaine0/GstKMSSink:kmssink0:
可能存在时间戳问题、或者此计算机太慢。


root@am62xx-lp-evm:~# gst-launch-1.0 v4l2src device=/dev/video0 !     video/x-raw,format=GRAY8,width=1120,height=1360,framerate=30/1 !     queue max-size-buffers=4 ! videoconvert ! kmssink                       
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
There may be a timestamping problem, or this computer is too slow.
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:08.584579289
Setting pipeline to NULL ...
Freeing pipeline ...


流水线以格式GRAY8、分辨率1120x136010/1帧速率下降 30 到 10 的方式平稳运行。


root@am62xx-lp-evm:~# gst-launch-1.0 v4l2src device=/dev/video0 !     video/x-raw,format=GRAY8,width=1120,height=1360,framerate=10/1 !     queue max-size-buffers=4 ! videoconvert ! kmssink                       
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:14.391994109
Setting pipeline to NULL ...
Freeing pipeline ...


它还可以使用格式GRAY8、分辨率680x480和帧率60/1

您能否提出问题可能在哪里以及如何解决?

此致、
Gopal Sharma

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

    尊敬的 Gopal:

    Videoconvert 是一款基于软件的插件、肯定会在 AM62x 上占用大量 CPU。 在流水线中添加队列元素是否有助于改善 FPS?

    此外、您还可以分享当摄像头连接到 EVM 时所测试的摄像头以及 media-ctl -p /dev/media0 输出。

    此致、

    Suren

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

    您好、Suren、

    在流水线中添加队列元素是否有助于提高 FPS?

    带队列的管道:-   

    root@am62xx-lp-evm:~# gst-launch-1.0 v4l2src device=/dev/video0 ! \
    >     queue max-size-buffers=4 ! \
    >     video/x-raw,format=GRAY8,width=1120,height=1360,framerate=60/1 ! \
    >     queue max-size-buffers=4 ! \
    >     videoconvert ! \
    >     queue max-size-buffers=4 ! \
    >     kmssink
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    Redistribute latency...
    WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    There may be a timestamping problem, or this computer is too slow.
    WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    There may be a timestamping problem, or this computer is too slow.
    WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    There may be a timestamping problem, or this computer is too slow.
    WARNING: from element /GstPipeline:pipeline0/GstKMSSink:kmssink0: A lot of buffers are being dropped.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesink.c(3147): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstKMSSink:kmssink0:
    There may be a timestamping problem, or this computer is too slow.
    ^Chandling interrupt.
    Interrupt: Stopping pipeline ...
    Execution ended after 0:00:05.738267740
    Setting pipeline to NULL ...
    Freeing pipeline ...
    

    此外、当摄像头连接到 EVM 时、您还能分享您测试的摄像头以及 media-ctl -p /dev/media0 输出。


    media-ctl -p /dev/media0
    Media controller API version 6.12.17
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial          
    bus info        platform:30102000.ticsi2rx
    hw revision     0x1
    driver version  6.12.17
    
    Device topology
    - entity 1: 30102000.ticsi2rx (5 pads, 5 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev0
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: SINK
                    [stream:0 fmt:Y8_1X8/1120x1360 field:none]
                    <- "cdns_csi2rx.30101000.csi-bridge":1 [ENABLED,IMMUTABLE]
            pad1: SOURCE
                    [stream:0 fmt:Y8_1X8/1120x1360 field:none]
                    -> "30102000.ticsi2rx context 0":0 [ENABLED,IMMUTABLE]
            pad2: SOURCE
                    -> "30102000.ticsi2rx context 1":0 [ENABLED,IMMUTABLE]
            pad3: SOURCE
                    -> "30102000.ticsi2rx context 2":0 [ENABLED,IMMUTABLE]
            pad4: SOURCE
                    -> "30102000.ticsi2rx context 3":0 [ENABLED,IMMUTABLE]
    
    - entity 7: cdns_csi2rx.30101000.csi-bridge (5 pads, 2 links, 1 route)
                type V4L2 subdev subtype Unknown flags 0
                device node name /dev/v4l-subdev1
            routes:
                    0/0 -> 1/0 [ACTIVE]
            pad0: SINK
                    [stream:0 fmt:Y8_1X8/1120x1360 field:none]
                    <- "vd56g3_iil 4-0010":0 [ENABLED,IMMUTABLE]
            pad1: SOURCE
                    [stream:0 fmt:Y8_1X8/1120x1360 field:none]
                    -> "30102000.ticsi2rx":0 [ENABLED,IMMUTABLE]
            pad2: SOURCE
            pad3: SOURCE
            pad4: SOURCE
    
    - entity 13: vd56g3_iil 4-0010 (1 pad, 1 link, 0 routes)
                 type V4L2 subdev subtype Sensor flags 0
                 device node name /dev/v4l-subdev2
            pad0: SOURCE
                    [stream:0 fmt:Y8_1X8/1120x1360 field:none colorspace:raw xfer:none quantization:full-range
                     crop.bounds:(0,0)/1124x1364
                     crop:(2,2)/1120x1360]
                    -> "cdns_csi2rx.30101000.csi-bridge":0 [ENABLED,IMMUTABLE]
    
    - entity 19: 30102000.ticsi2rx context 0 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video0
            pad0: SINK
                    <- "30102000.ticsi2rx":1 [ENABLED,IMMUTABLE]
    
    - entity 25: 30102000.ticsi2rx context 1 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video1
            pad0: SINK
                    <- "30102000.ticsi2rx":2 [ENABLED,IMMUTABLE]
    
    - entity 31: 30102000.ticsi2rx context 2 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video2
            pad0: SINK
                    <- "30102000.ticsi2rx":3 [ENABLED,IMMUTABLE]
    
    - entity 37: 30102000.ticsi2rx context 3 (1 pad, 1 link)
                 type Node subtype V4L flags 0
                 device node name /dev/video3
            pad0: SINK
                    <- "30102000.ticsi2rx":4 [ENABLED,IMMUTABLE]
    
    


    此致、
    Gopal Sharma

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

    尊敬的 Gopal:

    我已将您的问题分配给我们的摄像头专家以获得进一步支持。 期待尽快作出响应。

    也可以在 kmssink 元素上添加 kmssink 驱动程序-name=tidss sync=false。

    您的摄像头传感器支持哪些帧速率?  

    您可以参阅 AM62 Academy 有关转储 摄像头支持的帧大小和帧间隔的信息

    https://dev.ti.com/tirex/explore/node?node=A__Afvqyi8mUm05676JZJ-UlQ__AM62-ACADEMY__uiYMDcq__LATEST

    linux->在 TI EVM 上开发 Linux ->使用摄像头部分。

    此致、

    Suren

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

    您好、Suren、

    当前帧性能:

    • 640x480:最大 60 fps—工作正常;超过 60 fps 会导致帧丢失。

    • 最大分辨率:1120x1360—只能处理高达 10 fps 的帧、而不会丢弃帧。

    增加设置后、摄像头分辨率为 1120x1360(最高 60fps)。
    该摄像头能够驱动 1120x1360 帧、但以该分辨率在 10fps 后开始丢弃帧。

    我们目前使用以下时钟设置:
    xvclk =<12000000>;
    摄像头链路频率=/bits/64 <402000000>;
    是否存在与这些频率值相关的任何问题?

    此致、
    Gopal Sharma