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.

[参考译文] PROCESSOR-SDK-AM68A:无法通过 CSI2在 AM68A 上以全分辨率(3264x2464)流式传输 IMX219摄像头

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1500379/processor-sdk-am68a-unable-to-stream-imx219-camera-at-full-resolution-3264x2464-on-am68a-via-csi2

器件型号:PROCESSOR-SDK-AM68A
主题:AM68A 中讨论的其他器件

工具/软件:

尊敬的团队:

我目前正在努力集成 IMX219-160_IR-cut_Camera 简化版原理图 AM68A 进行通信 CSI2 缩写。

我能够在成功地流式传输视频 1920x1080 使用以下流水线解决问题:


root@am68a-sk:/opt/edgeai-gst-apps# gst-launch-1.0     v4l2src device=/dev/video-imx219-cam0 io-mode=2 !  queue leaky=2 ! video/x-bayer,width=1920,height=1080,format=rggb !     tiovxisp sensor-name=SENSOR_SONY_IMX219_RPI dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin format-msb=7 sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.bin sink_0::device=/dev/v4l-imx219-subdev0 !  video/x-raw,format=NV12 !       timeoverlay  !    tiovxmultiscaler name=split0 src_0::roi-startx=0 src_0::roi-starty=0 src_0::roi-width=1280 src_0::roi-height=720 src_2::roi-startx=0 src_2::roi-starty=0 src_2::roi-width=1280 src_2::roi-height=720 target=0 !     queue ! video/x-raw,width=320,height=320 !     tiovxdlpreproc model=/opt/model_zoo/TFL-OD-2020-ssdLite-mobDet-DSP-coco-320x320 out-pool-size=4 !     application/x-tensor-tiovx !     tidlinferer target=1 model=/opt/model_zoo/TFL-OD-2020-ssdLite-mobDet-DSP-coco-320x320 !     post_0.tensor         split0. !     queue ! video/x-raw,width=1920,height=1080 !     post_0.sink         tidlpostproc name=post_0 model=/opt/model_zoo/TFL-OD-2020-ssdLite-mobDet-DSP-coco-320x320 alpha=0.400000 viz-threshold=0.600000 top-N=5 display-model=true !     queue ! mosaic.sink_0  tiovxmosaic name=mosaic sink_0::startx="<0>" sink_0::starty="<0>" !     kmssink driver-name=tidss sync=false
APP: Init ... !!!
  3476.128820 s: MEM: Init ... !!!
  3476.128885 s: MEM: Initialized DMA HEAP (fd=8) !!!
  3476.129008 s: MEM: Init ... Done !!!
  3476.129020 s: IPC: Init ... !!!
  3476.190767 s: IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
  3476.201408 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
  3476.201666 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
  3476.201938 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
  3476.202038 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
  3476.202846 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-0
  3476.203756 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-1
  3476.205391 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-2
  3476.205670 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-3
  3476.205820 s:  VX_ZONE_INFO: [tivxInitLocal:126] Initialization Done !!!
  3476.205877 s:  VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO

 Number of subgraphs:1 , 129 nodes delegated out of 129 nodes

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
0:00:04.8 / 99:99:99.


但是、当我尝试使用相同的流水线以摄像头的最大支持分辨率(3264x2464)进行流式传输时、我遇到了一个错误:

root@am68a-sk:/opt/edgeai-gst-apps# gst-launch-1.0     v4l2src device=/dev/video-imx219-cam0 io-mode=2 !  queue leaky=2 ! video/x-bayer,width=3264,height=2464,format=rggb !     tiovxisp sensor-name=SENSOR_SONY_IMX219_RPI dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin format-msb=7 sink_0::dcc-2a-file=/opt/
imaging/imx219/linear/dcc_2a.bin sink_0::device=/dev/v4l-imx219-subdev0 !  video/x-raw,format=NV12 !       timeoverlay  !    tiovxmultiscaler name=split0 sr
c_0::roi-startx=0 src_0::roi-starty=0 src_0::roi-width=1280 src_0::roi-height=720 src_2::roi-startx=0 src_2::roi-starty=0 src_2::roi-width=1280 src_2::roi-h
eight=720 target=0 !     queue ! video/x-raw,width=320,height=320 !     tiovxdlpreproc model=/opt/model_zoo/TFL-OD-2020-ssdLite-mobDet-DSP-coco-320x320 out-
pool-size=4 !     application/x-tensor-tiovx !     tidlinferer target=1 model=/opt/model_zoo/TFL-OD-2020-ssdLite-mobDet-DSP-coco-320x320 !     post_0.tensor
         split0. !     queue ! video/x-raw,width=1920,height=1080 !     post_0.sink         tidlpostproc name=post_0 model=/opt/model_zoo/TFL-OD-2020-ssdLit
e-mobDet-DSP-coco-320x320 alpha=0.400000 viz-threshold=0.600000 top-N=5 display-model=true !     queue ! mosaic.sink_0  tiovxmosaic name=mosaic sink_0::star
tx="<0>" sink_0::starty="<0>" !     kmssink driver-name=tidss sync=false
APP: Init ... !!!
  3718.199423 s: MEM: Init ... !!!
  3718.199467 s: MEM: Initialized DMA HEAP (fd=8) !!!
  3718.199586 s: MEM: Init ... Done !!!
  3718.199599 s: IPC: Init ... !!!
  3718.251133 s: IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
  3718.258316 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
  3718.258583 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
  3718.258657 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
  3718.258714 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
  3718.259491 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-0
  3718.261561 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-1
  3718.261894 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-2
  3718.262060 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-3
  3718.262078 s:  VX_ZONE_INFO: [tivxInitLocal:126] Initialization Done !!!
  3718.262086 s:  VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO

 Number of subgraphs:1 , 129 nodes delegated out of 129 nodes

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
Additional debug info:
/usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2src.c(950): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Buffer pool activation failed
Execution ended after 0:00:00.025853731
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
/usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Freeing pipeline ...
APP: Deinit ... !!!
REMOTE_SERVICE: Deinit ... !!!
REMOTE_SERVICE: Deinit ... Done !!!
  3719.060723 s: IPC: Deinit ... !!!
  3719.063066 s: IPC: DeInit ... Done !!!
  3719.063103 s: MEM: Deinit ... !!!
  3719.063482 s: DDR_SHARED_MEM: Alloc's: 37 alloc's of 94292515 bytes
  3719.063581 s: DDR_SHARED_MEM: Free's : 37 free's  of 94292515 bytes
  3719.063610 s: DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
  3719.063634 s: MEM: Deinit ... Done !!!
APP: Deinit ... Done !!!



  • 摄像头模块 IMX219-160_IR-cut_Camera

  • 接口: CSI2

  • 电路板: AM68A

  • 工作分辨率: 1920x1080

  • 所需的分辨率: 3264x2464

  • SDK 中找到 :10.1.

    我已经确认该传感器能够提供该分辨率。 是否需要任何带宽限制、驱动程序限制或其他设置来实现全分辨率流式传输?

    任何指导或建议都将非常感谢!

       Noushad

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

    尊敬的 Noushad:

    下载附加的二进制文件并将其添加到 opt/imaging/imx219/线性 目录:

    /cfs-file/__key/communityserver-discussions-components-files/791/3404.dcc_5F00_viss_5F00_3280x2464_5F00_10b.bin

    /cfs-file/__key/communityserver-discussions-components-files/791/3404.dcc_5F00_2a_5F00_3280x2464_5F00_10b.bin

     对 opt/edgeai-gst-apps/scripts/进行以下格式更改 setup_cameras.sh 并在保存后重新启动器件。

    IMX219_CAM_FMT="${IMX219_CAM_FMT:-[fmt:SRGGB10_1X10/3280x2464]}"

    您应该能够 以所需的3264x2464分辨率运行以下 GStreamer 流水线。

    gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=dmabuf-import ! queue max-size-buffers=1 leaky=2 ! \
    video/x-bayer, width=3280, height=2464, framerate=15/1, format=rggb10 ! \
    tiovxisp sink_0::pool-size=4  sink_0::device=/dev/v4l-imx219-subdev0 sensor-name="SENSOR_SONY_IMX219_RPI" \
    dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_3280x2464_10b.bin \
    sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_3280x2464_10b.bin format-msb=9 ! \
    video/x-raw, format=NV12, width=3280, height=2464, framerate=15/1 ! queue ! tiovxmultiscaler ! queue ! \
    video/x-raw, format=NV12, width=1920, height=1080, framerate=15/1 ! \
    kmssink driver-name=tidss sync=false force-modesetting=true

    谢谢您、

    法比亚纳

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

    你好 Fabiana Jaimes

    感谢您的宝贵支持  

    是否可以通过修改setup_cameras_v3link.sh位于的脚本、将摄像机分辨率设置为3280x2464 (通过 V3Link)/opt/edgeai-gst-apps/scripts/

    谢谢您、

    Noushad



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

    尊敬的 Noushad:

    是的、流程应该相似。 如果您在对脚本进行更改后遇到任何问题、请告诉我。

    谢谢您、

    法比亚纳

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

    尊敬的 Fabiana:

    感谢您的确认。

    我通过修改setup_cameras_v3link.sh脚本、以3280x2464的分辨率测试了 IMX219-160_IR-cut 摄像头。 但是、进行此更改后、未检测到摄像头。 我将分辨率恢复到最初的1920x1080、但遗憾的是、摄像头仍无法通过 V3Link 检测到。




    V3Link 上是否有任何可能导致此问题的分辨率限制?

    此致、
    Noushad

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

    尊敬的 Noushad:

    您正在运行 setup_cameras_v3link.sh 修改后编写脚本? 。 setup_cameras.sh 脚本会在设备每次启动时自动运行、因为它包含在初始化脚本中、但通过 V3Link 连接的传感器需要您手动运行  setup_cameras_v3link.sh  引导电阻器。

    请尝试执行此操作、但仍然未检测到传感器、请共享的输出 media-ctl -p 保存固件  setup_cameras_v3link.sh 脚本。

    谢谢您、

    法比亚纳

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

    尊敬的 Fabiana Jaimes

    是的、setup_cameras_v3link.sh修改后我手动运行了脚本:

    root@am68a-sk:/opt/edgeai-gst-apps# source /opt/edgeai-gst-apps/scripts/setup_cameras_v3link.sh
    USB Camera 0 detected
        device = /dev/video-usb-cam0
        format = jpeg
    USB Camera 1 detected
        device = /dev/video-usb-cam1
        format = jpeg



    然后,我运行media-ctl -p,这里是输出:

    Media controller API version 6.6.44
    
    Media device information
    ------------------------
    driver          j721e-csi2rx
    model           TI-CSI2RX
    serial
    bus info        platform:4500000.ticsi2rx
    hw revision     0x1
    driver version  6.6.44
    
    Device topology
    - entity 1: 4500000.ticsi2rx (9 pads, 0 link, 0 routes)
                type V4L2 subdev subtype Unknown flags 0
            pad0: Sink
            pad1: Source
            pad2: Source
            pad3: Source
            pad4: Source
            pad5: Source
            pad6: Source
            pad7: Source
            pad8: Source
    
    - entity 11: cdns_csi2rx.4504000.csi-bridge (5 pads, 0 link, 0 routes)
                 type V4L2 subdev subtype Unknown flags 0
            pad0: Sink
            pad1: Source
            pad2: Source
            pad3: Source
            pad4: Source


    如果您需要任何其他日志、或者我需要检查其他任何日志、请告诉我。

    谢谢您、
    Noushad

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

    你好 Fabiana Jaimes


    此外、我运行了 I2C 命令以收集更多信息、这是i2cdump I2C 地址的的输出 0x30

    root@am68a-sk:/opt/edgeai-gst-apps# i2cdump -y 5 0x30
    No size specified (using byte-data access)
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 60 00 1e 40 d0 01 00 fe 1c 10 7a 7a 0f b9 03 ff    `.?@??.???zz???.
    10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00    ..............?.
    20: f0 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ??..............
    30: 00 00 01 42 00 00 00 00 00 00 00 00 00 00 00 00    ..?B............
    40: 00 a9 71 01 00 00 20 00 00 00 00 12 01 03 04 64    .?q?.. ....????d
    50: 00 00 00 04 00 00 00 00 5e 00 00 30 88 00 00 00    ...?....^..0?...
    60: 00 00 00 00 00 00 00 00 00 00 00 00 00 78 88 88    .............x??
    70: 2b 2c e4 00 00 00 00 c5 00 01 00 00 20 00 00 00    +,?....?.?.. ...
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 1e 00 00 00 00 00 00 00 00 00 00    .....?..........
    b0: 04 09 08 08 25 00 18 00 88 33 83 74 80 00 00 00    ????%.?.?3?t?...
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 43 94 00 60 e0 00 02 07 7f 00 00 00 00 00 00    .C?.`?.???......
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 5f 55 42 39 36 30 00 00 00 00 00 00 00 00 00 00    _UB960..........


    如果您需要进一步的信息、或者我需要检查其他任何信息、请告诉我。

    谢谢您、
    Noushad





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

    HiFabianaJaimes

    今天是否有任何更新?

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

    尊敬的 Noushad:

    请查看下面链接的常见问题解答、并验证您是否按照使用 AM68A 启用 V3Link + imx219所需的所有步骤操作。

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1452909/faq-am67a-enabling-csi2-sensors-via-fusion-board-on-am6x

    谢谢您、

    法比亚纳

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

    HifabianaJaimes

    感谢您的宝贵反馈。 更新uEnv.txt文件后、现在检测到 IMX219摄像头0

    root@am68a-sk:/opt/edgeai-gst-apps/configs# sudo cat  /run/media/BOOT-mmcblk1p1/uEnv.txt
    # This uEnv.txt file can contain additional environment settings that you
    # want to set in U-Boot at boot time.  This can be simple variables such
    # as the serverip or custom variables.  The format of this file is:
    #    variable=value
    # NOTE: This file will be evaluated after the bootcmd is run and the
    #       bootcmd must be set to load this file if it exists (this is the
    #       default on all newer U-Boot images.  This also means that some
    #       variables such as bootdelay cannot be changed by this file since
    #       it is not evaluated until the bootcmd is run.
    
    # Update the Linux hostname based on board_name
    # The SK also requires an additional dtbo to boot. Prepend it to name_overlays depending on board_name
    uenvcmd=if test "$board_name" = "am68-sk"; then ; setenv args_all $args_all systemd.hostname=am68a-sk ; fi
    
    # Setting the right U-Boot environment variables
    dorprocboot=1
    name_overlays=ti/k3-j721s2-edgeai-apps.dtbo ti/k3-am68-sk-v3link-fusion.dtbo ti/k3-v3link-imx219-0-0.dtbo
    
    
    root@am68a-sk:/opt/edgeai-gst-apps/configs# 


    我尝试运行样本、但摄像头没有显示任何内容


    root@am68a-sk:/opt/edgeai-gst-apps/configs# source /opt/edgeai-gst-apps/scripts/setup_cameras_v3link.sh
    USB Camera 0 detected
        device = /dev/video-usb-cam0
        format = jpeg
    USB Camera 1 detected
        device = /dev/video-usb-cam1
        format = jpeg
    IMX219 Camera 0 detected
        device = /dev/video-imx219-cam0
        name = imx219
        format = [fmt:SRGGB8_1X8/1920x1080]
        subdev_id = /dev/v4l-imx219-subdev0
        isp_required = yes
        ldc_required = yes
    root@am68a-sk:/opt/edgeai-gst-apps/configs# cd ..
    root@am68a-sk:/opt/edgeai-gst-apps# cd apps_cpp
    root@am68a-sk:/opt/edgeai-gst-apps/apps_cpp# ./bin/Release/app_edgeai ../configs/imx219_cam_example.yaml
    libtidl_onnxrt_EP loaded 0x551b690 
    Final number of subgraphs created are : 1, - Offloaded Nodes - 283, Total Nodes - 283 
    APP: Init ... !!!
      2152.274270 s: MEM: Init ... !!!
      2152.274351 s: MEM: Initialized DMA HEAP (fd=5) !!!
      2152.274549 s: MEM: Init ... Done !!!
      2152.274581 s: IPC: Init ... !!!
      2152.317540 s: IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
      2152.322607 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
      2152.322779 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
      2152.322810 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
      2152.322833 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
      2152.324461 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-0 
      2152.324734 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-1 
      2152.324903 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-2 
      2152.327386 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-3 
      2152.327445 s:  VX_ZONE_INFO: [tivxInitLocal:126] Initialization Done !!!
      2152.327482 s:  VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO
    graph
    ==========[INPUT PIPELINE(S)]==========
    
    [PIPE-0]
    
    v4l2src device=/dev/video-imx219-cam0 io-mode=5 ! queue leaky=2 ! capsfilter caps="video/x-bayer, width=(int)1920, height=(int)1080, format=(string)rggb;" ! tiovxisp dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin sensor-name=SENSOR_SONY_IMX219_RPI ! capsfilter caps="video/x-raw, format=(string)NV12;" ! tiovxmultiscaler name=multiscaler_split_00
    multiscaler_split_00. ! queue ! capsfilter caps="video/x-raw, width=(int)480, height=(int)416;" ! tiovxmultiscaler target=1 ! capsfilter caps="video/x-raw, width=(int)416, height=(int)416;" ! tiovxdlpreproc out-pool-size=4 data-type=3 tensor-format=1 ! capsfilter caps="application/x-tensor-tiovx;" ! appsink max-buffers=2 drop=true name=flow0_pre_proc0
    multiscaler_split_00. ! queue ! capsfilter caps="video/x-raw, width=(int)1280, height=(int)720;" ! tiovxdlcolorconvert out-pool-size=4 ! capsfilter caps="video/x-raw, format=(string)RGB;" ! appsink max-buffers=2 drop=true name=flow0_sensor0
    
    ==========[OUTPUT PIPELINE]==========
    
    appsrc do-timestamp=true format=3 block=true name=flow0_post_proc0 ! tiovxdlcolorconvert ! capsfilter caps="video/x-raw, width=(int)1280, height=(int)720, format=(string)NV12;" ! queue ! mosaic0.sink0
    
    tiovxmosaic target=1 background=/tmp/background0 name=mosaic0 src::pool-size=4
    sink_0::startx="<320>" sink_0::starty="<150>" sink_0::widths="<1280>" sink_0::heights="<720>"
    ! capsfilter caps="video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080;" ! queue ! tiperfoverlay title=IMX219 Camera ! kmssink sync=false max-lateness=5000000 qos=true processing-deadline=15000000 driver-name=tidss connector-id=40 plane-id=31 force-modesetting=true fd=52
    
    







    如何解决此错误? 我是否需要对uEnv.txt文件(特别是name_overlay参数)进行任何更改?

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

    尊敬的 Noushad:

      通过运行该 GStreamer 流水线、验证您是否能够从传感器流式传输到连接的显示器?

    gst-launch-1.0 \
    v4l2src device=/dev/video-imx219-cam0 io-mode=5 ! queue leaky=2 ! \
    video/x-bayer, width=1920, height=1080, framerate=30/1, format=rggb ! \
    tiovxisp sink_0::device=/dev/v4l-imx219-subdev0 sensor-name="SENSOR_SONY_IMX219_RPI" \
    dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin \
    sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 ! \
    video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! \
    kmssink driver-name=tidss sync=false

    供您参考的常见问题解答 : https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1427869/faq-sk-am69-how-to-stream-from-csi-sensor-and-usb-camera-to-display-using-gstreamer

    谢谢您、

    法比亚纳

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

    HiFabianaJaimes,

    感谢您的建议。

    /dev/video-imx219-cam0通过 V3Link 使用 IMX219传感器测试了提供的 GStreamer 流水线。 遗憾的是、流水线失败、并出现以下错误:

    root@am68a-sk:/opt/edgeai-gst-apps/scripts# source /opt/edgeai-gst-apps/scripts/setup_cameras_v3link.sh
    USB Camera 0 detected
        device = /dev/video-usb-cam0
        format = jpeg
    USB Camera 1 detected
        device = /dev/video-usb-cam1
        format = jpeg
    IMX219 Camera 0 detected
        device = /dev/video-imx219-cam0
        name = imx219
        format = [fmt:SRGGB8_1X8/1920x1080]
        subdev_id = /dev/v4l-imx219-subdev0
        isp_required = yes
        ldc_required = yes
    root@am68a-sk:/opt/edgeai-gst-apps/scripts# gst-launch-1.0 v4l2src device="/dev/video-usb-cam0" ! videoconvert ! videoscale ! video/x-raw, width=1280, height=720 ! kmssink sync=false driver-name=tidss
    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:02.847038118
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am68a-sk:/opt/edgeai-gst-apps/scripts# gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=5 ! queue leaky=2 ! video/x-bayer, width=1920, height=1080, framerate=30/1, format=rggb ! tiovxisp sink_0::device=/dev/v4l-imx219-subdev0 sensor-name="SENSOR_SONY_IMX219_RPI" dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_1920x1080.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_1920x1080.bin format-msb=7 ! video/x-raw, format=NV12, width=1920, height=1080, framerate=30/1 ! kmssink driver-name=tidss sync=false
    APP: Init ... !!!
      2199.210285 s: MEM: Init ... !!!
      2199.210378 s: MEM: Initialized DMA HEAP (fd=8) !!!
      2199.210552 s: MEM: Init ... Done !!!
      2199.210572 s: IPC: Init ... !!!
      2199.271106 s: IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
      2199.290231 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
      2199.292429 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_ERROR
      2199.292481 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_WARNING
      2199.292495 s:  VX_ZONE_INFO: Globally Enabled VX_ZONE_INFO
      2199.300493 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-0 
      2199.300711 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-1 
      2199.300879 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-2 
      2199.301076 s:  VX_ZONE_INFO: [tivxPlatformCreateTargetId:134] Added target MPU-3 
      2199.301092 s:  VX_ZONE_INFO: [tivxInitLocal:126] Initialization Done !!!
      2199.301100 s:  VX_ZONE_INFO: Globally Disabled VX_ZONE_INFO
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.
    Additional debug info:
    /usr/src/debug/gstreamer1.0-plugins-good/1.22.12/sys/v4l2/gstv4l2src.c(950): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    Buffer pool activation failed
    Execution ended after 0:00:00.024694841
    Setting pipeline to NULL ...
    ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
    Additional debug info:
    /usr/src/debug/gstreamer1.0/1.22.12/libs/gst/base/gstbasesrc.c(3134): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
    streaming stopped, reason not-negotiated (-4)
    Freeing pipeline ...
      2199.955246 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff9574c9f8 of type 00000817 at external count 1, internal count 0, releasing it
      2199.955290 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=raw_image_101) now as a part of garbage collection
      2199.955313 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff9584e298 of type 00000813 at external count 1, internal count 0, releasing it
      2199.955326 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_102) now as a part of garbage collection
      2199.955808 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff9584e448 of type 00000813 at external count 1, internal count 0, releasing it
      2199.955848 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_104) now as a part of garbage collection
      2199.959020 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff9584e5f8 of type 00000813 at external count 1, internal count 0, releasing it
      2199.959096 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_106) now as a part of garbage collection
      2199.959566 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff9584e7a8 of type 00000813 at external count 1, internal count 0, releasing it
      2199.960179 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_108) now as a part of garbage collection
      2199.962502 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff9584e958 of type 00000813 at external count 1, internal count 0, releasing it
      2199.962552 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_110) now as a part of garbage collection
      2199.963095 s:  VX_ZONE_WARNING: [vxReleaseContext:1275] Found a reference 0xffff9584eb08 of type 00000813 at external count 1, internal count 0, releasing it
      2199.963128 s:  VX_ZONE_WARNING: [vxReleaseContext:1277] Releasing reference (name=object_array_112) now as a part of garbage collection
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
      2199.982610 s: IPC: Deinit ... !!!
      2199.989319 s: IPC: DeInit ... Done !!!
      2199.989371 s: MEM: Deinit ... !!!
      2199.989381 s: DDR_SHARED_MEM: Alloc's: 6 alloc's of 12441600 bytes 
      2199.989395 s: DDR_SHARED_MEM: Free's : 6 free's  of 12441600 bytes 
      2199.989403 s: DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
      2199.989415 s: MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!
    root@am68a-sk:/opt/edgeai-gst-apps/scripts# 


    但是、使用更简单的 GStreamer 流水线从 USB 摄像头进行流式传输可以成功完成、并按预期显示视频。

    谢谢您、

    Noushad

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

    尊敬的 Noushad:

    尚未在我们的任何器件上验证此 IMX219 IR 型号。 根据您共享的日志、似乎 需要对设置摄像机脚本进行进一步更改才能正确设置设备。  我建议 查看 OV2312设置函数、因为这是一款 RGB 和 IR 传感器。

    谢谢您、

    法比亚纳

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

    尊敬的 Fabiana Jaimes

    感谢您的更新。

    我想分享的是、当我将 IMX219 IR 型号直接连接到 AM68A 上的 CSI2端口时、只需提供现有setup_cameras.sh脚本、就能够以全分辨率(宽度= 3280、高度= 2464)显示输出、而不会出现任何问题、我的设置中无需额外修改。

    似乎问题可能与使用进行采购有关setup_cameras_v3link.sh

    如果您想我分享任何其他详细信息或日志、请告诉我。

    此致、

    Noushad

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

    尊敬的 Noushad:

    我感谢澄清。 您是否对进行了任何更改 SETUP_CAMERS_v3link 脚本? 您能共享的输出吗 media-ctl -p  完成该操作吗?

    谢谢您、

    法比亚纳

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

    您好、 Fabiana Jaimes

    是的、我修改了setup_cameras_v3link脚本。 具体而言、我通过将配置更新为以下格式来修复 IMX219摄像头的高分辨率格式:

    IMX219_CAM_FMT="${IMX219_CAM_FMT:-[fmt:SRGGB10_1X10/3280x2464 field:none]}"



    我还补充了field:none你上面建议的内容。 完成此更改后、即设置时 两个 IMX219 IR 摄像头 在 V3Link 上、使用以下脚本即可以高分辨率正常工作:


    gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=dmabuf-import ! queue max-size-buffers=1 leaky=2 ! \
    video/x-bayer, width=3280, height=2464, framerate=15/1, format=rggb10 ! \
    tiovxisp sink_0::pool-size=4  sink_0::device=/dev/v4l-imx219-subdev0 sensor-name="SENSOR_SONY_IMX219_RPI" \
    dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_3280x2464_10b.bin \
    sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_3280x2464_10b.bin format-msb=9 ! \
    video/x-raw, format=NV12, width=3280, height=2464, framerate=15/1 ! queue ! tiovxmultiscaler ! queue ! \
    video/x-raw, format=NV12, width=1920, height=1080, framerate=15/1 ! \
    kmssink driver-name=tidss sync=false force-modesetting=true


    不过、我在尝试设置时会用到它 三个 IMX219 IR 摄像头 在相同的高分辨率下、我开始在显示单个摄像头的输出时看到图像失真。





    我随附了一个视频、其中显示了该问题:

    e2e.ti.com/.../2275.MicrosoftTeams_2D00_video.mp4

    谢谢您、
    Noushad

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

    尊敬的 Noushad:

    我假设这是的输出流 /dev/video-imx219-cam0 。 从进行流式传输时是否观察到相同的图像失真 /dev/video-imx219-cam1 /dev/video-imx219-cam2

    谢谢您、

    法比亚纳

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

    尊敬的 Fabiana:

    我使用上述相同的脚本分别测试了所有 IMX219摄像头、它们都表现出相同的行为。 但是、当我在中仅配置两个 IMX219摄像头时(uEnv.txt如下所示)、它们会在高分辨率下成功工作:

    name_overlays=ti/k3-j721s2-edgeai-apps.dtbo ti/k3-am68-sk-v3link-fusion.dtbo ti/k3-v3link-imx219-0-0.dtbo ti/k3-v3link-imx219-0-1.dtbo
    


    谢谢您、
    Noushad

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

    尊敬的 Noushad:

    只是为了澄清一下、 您是否仅在从多摄像头设置中的单个摄像头或子集进行流式传输时才看到该问题?

    谢谢您、

    法比亚纳

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

    尊敬的 Fabiana Jaimes

    澄清—当我在中设置2个 IMX219摄像头时uEnv.txt、单独显示每个摄像头将成功工作。 但是、当我在中配置3个 IMX219摄像头uEnv.txt并单独测试每个摄像头时、我会在显示屏上观察到图像失真。

    谢谢您、
    Noushad

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

    尊敬的 Noushad:

    您能否尝试一次从所有连接的传感器进行流式传输?  供您参考的常见问题解答 : https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1427869/faq-sk-am69-how-to-stream-from-csi-sensor-and-usb-camera-to-display-using-gstreamer

    谢谢您、

    法比亚纳

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

    尊敬的 Fabiana Jaimes

    根据您的建议、我同时从两个摄像头(两个分辨率为3280x2464的 IMX219传感器)流式传输和保存视频。

    但是、在播放时、我仍然可以在录制的视频中观察到图像失真。

    为了进一步分析、我附上了 GStreamer 流代码和录制的视频文件。



    title: "Multi Input, Multi Inference"
    log_level: 2
    inputs:
        input0:
            source: /dev/video-imx219-cam0
            subdev-id: /dev/v4l-imx219-subdev0
            width: 3280
            height: 2464
            format: rggb10
            framerate: 30
        input1:
            source: /dev/video-imx219-cam1
            subdev-id: /dev/v4l-imx219-subdev1
            width: 3280
            height: 2464
            format: rggb10
            framerate: 30
        input2:
            source: /dev/video-imx219-cam2
            subdev-id: /dev/v4l-imx219-subdev2
            width: 3280
            height: 2464
            format: rggb10
            framerate: 30
    models:
        model0:
            model_path: /opt/model_zoo/TFL-OD-2020-ssdLite-mobDet-DSP-coco-320x320
            viz_threshold: 0.6
        model1:
            model_path: /opt/model_zoo/ONR-OD-8200-yolox-nano-lite-mmdet-coco-416x416
            viz_threshold: 0.6
        model2:
            model_path: /opt/model_zoo/ONR-CL-6360-regNetx-200mf
            topN: 5
        model3:
            model_path: /opt/model_zoo/ONR-SS-8610-deeplabv3lite-mobv2-ade20k32-512x512
            alpha: 0.4
    outputs:
        output0:
            sink: kmssink
            width: 1920
            height: 1080
            overlay-perf-type: graph
        output1:
            sink: /opt/edgeai-test-data/output/output_video.mkv
            width: 1920
            height: 1080
        output2:
            sink: /opt/edgeai-test-data/output/output_video2.mkv
            width: 1920
            height: 1080
        output3:
            sink: /opt/edgeai-test-data/output/output_video3.mkv
            width: 1920
            height: 1080
    
    flows:
        
        flow0: [input0,model0,output1,[0,0,1920,1080]]
        flow1: [input1,model0,output2,[0,0,1920,1080]]
        #flow2: [input2,model1,output3,[320,150,1280,720]]
        #flow0: [input0,model1,output0,[320,150,640,360]]
        #flow1: [input1,model1,output2,[960,150,640,360]]
        #flow2: [input2,model2,output3,[320,530,640,360]]
        
    












    如果您需要任何其他详细信息、敬请告知。



    - Noushad

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

    尊敬的 Noushad:

    法比亚娜现在已经离开了,所以我会试着在此期间为她填写。

    我在 最新响应中注意到的一点是、该流程看起来需要修改:

    • flow0:[input0、model0、output1、[0、019219201080]]
    • flow1:[Input1、model0、output2、[0、019219201080]]

    具体来说,两个流的最后一部分是"[0、019219201080]"。

    其作用是在屏幕上定义 X、Y 坐标、以以特定分辨率绘制输出。 在您的情况下、flow0和 flow1都会从0、0 (屏幕的角落)开始绘制1920x1080输出。 因此、如果使用1920x1080屏幕、它会在同一屏幕上相互叠加两个输出。 我怀疑这会导致一些奇怪的行为,这可能会在视觉上表现为"失真"。

    我建议阅读此处的"流程"部分、并更新流程配置: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am68a/10_01_00/exports/edgeai-docs/common/configuration_file.html#flows

    此致、

    Takuma

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

    你好@

    感谢您的答复。

    我相信可能有一个误解。 我不会将输出流式传输到显示器—我的目的只是将两个视频保存到特定的文件路径。

    以下是相关的流配置:

    flow0: [input0, model0, output1, [0, 0, 1920, 1080]]
    flow1: [input1, model0, output2, [0, 0, 1920, 1080]]
    


    输出定义为:

    output1:
        sink: /opt/edgeai-test-data/output/output_video.mkv
        width: 1920
        height: 1080
    
    output2:
        sink: /opt/edgeai-test-data/output/output_video2.mkv
        width: 1920
        height: 1080
    


    由于两个输出都保存到文件、并且不显示在屏幕上、因此[0, 0, 1920, 1080]坐标不应导致任何叠加问题。

    但是、我注意到图像发生了失真 系统 自动读取 三个摄像头 中、uEnv.txt如下所示:

    name_overlays=ti/k3-j721s2-edgeai-apps.dtbo ti/k3-am68-sk-v3link-fusion.dtbo ti/k3-v3link-imx219-0-0.dtbo ti/k3-v3link-imx219-0-1.dtbo ti/k3-v3link-imx219-0-2.dtbo
    

    自动读取 仅两个摄像头 就像这样,一切都正常:

    name_overlays=ti/k3-j721s2-edgeai-apps.dtbo ti/k3-am68-sk-v3link-fusion.dtbo ti/k3-v3link-imx219-0-0.dtbo ti/k3-v3link-imx219-0-1.dtbo
    


    因此、问题似乎与启用第三个摄像头有关、而不是与流量或输出配置本身有关。

    请告诉我、这是否提供了任何线索、或者您是否对如何进一步调试有建议。

    此致、
    Noushad



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

    @

    只需添加更多上下文:

    我还使用进行了测试 两块 TI V3Link Arducam 串行器/解串器板 和已配置 三个摄像头 如下所示:

    name_overlays=ti/k3-j721s2-edgeai-apps.dtbo ti/k3-am68-sk-v3link-fusion.dtbo ti/k3-v3link-imx219-0-0.dtbo ti/k3-v3link-imx219-0-1.dtbo ti/k3-v3link-imx219-1-0.dtbo
    


    在此配置中、一切都能成功运行—不会发生图像失真、并且视频被正确保存。

    因此、问题似乎仅在使用时出现 串行器/解串器板上有三个摄像头

    希望这有助于缩小根本原因的范围


    - Noushad



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

    尊敬的 Noushad:

    [引述 userid="575807" url="~/support/processors-group/processors/f/processors-forum/1500379/processor-sdk-am68a-unable-to-stream-imx219-camera-at-full-resolution-3264x2464-on-am68a-via-csi2/5817602 #5817602"]

    由于两个输出都保存到文件、并且不显示在屏幕上、因此[0, 0, 1920, 1080]坐标不应导致任何叠加问题。

    [/报价]

    啊、是的。 没关系。 感谢您澄清我的误解。

    [引述 userid="575807" url="~/support/processors-group/processors/f/processors-forum/1500379/processor-sdk-am68a-unable-to-stream-imx219-camera-at-full-resolution-3264x2464-on-am68a-via-csi2/5817770 #5817770"]

    因此、问题似乎仅在使用时出现 串行器/解串器板上有三个摄像头

    [/报价]

    在我们就此得出结论之前、您能 再做一个实验来排除另一个假设吗? 假设可能是第三个 dtbo 启用的特定摄像头模块存在问题。

    您是否只能启用第三个摄像头并查看是否观察到失真? 在 U-boot 中、如下所示:

    • name_coverles=ti/k3-j721s2-edgeai-apps.dtbo ti/k3-am68-sk-v3link-fusion.dtbo ti/k3-v3link-imx219-0-2.dtbo

    此致、

    Takuma

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

    你好@

    感谢您的建议。

    我使用三个完全相同的摄像头模块:IMX219-160_IR-Cut_Camera。 我已经测试过一次只能在不同端口(0、1、2、3)上启用一个摄像头、并且在所有情况下、图像都很干净—未观察到失真。

    即使一次启用两个摄像头也可以正常工作、而不会出现任何问题。

    仅当所有三个 IMX219摄像头一起启用并且脚本设置为使用高分辨率设置时、才会发生图像失真。 当访问此配置下的任何一个摄像头时、我会看到图像失真。

    有趣的是、当我切换到较低的分辨率时、我甚至可以在单个串行器/解串器板上启用四个摄像头、而不会出现任何图像失真。

    因此、问题似乎并不是特定摄像头或叠加问题、而是更有可能与使用来自多个摄像头的高分辨率流时的带宽或处理限制有关。

    • 摄像头模块 IMX219-160_IR-cut_Camera

    • 接口:  CSI2

    • 电路板:  AM68A

    • 工作分辨率:  1920x1080

    • 所需的分辨率:  3264x2464

    • SDK 中找到 :10.1.

    如果您希望我测试其他任何内容、请告诉我。

    此致、
    Noushad

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

    尊敬的 Noushad:

    [引述 userid="575807" url="~/support/processors-group/processors/f/processors-forum/1500379/processor-sdk-am68a-unable-to-stream-imx219-camera-at-full-resolution-3264x2464-on-am68a-via-csi2/5820195 #5820195"]

    仅当所有三个 IMX219摄像头一起启用并且脚本设置为使用高分辨率设置时、才会发生图像失真。 当访问此配置下的任何一个摄像头时、我会看到图像失真。

    有趣的是、当我切换到较低的分辨率时、我甚至可以在单个串行器/解串器板上启用四个摄像头、而不会出现任何图像失真。

    [/报价]

    我同意你的说法。 这听起来像是达到了某种带宽或处理限制。  

    我知道的一些常见限制包括 VPAC 的限制和编解码器的限制。 对于 AM68A、我认为两个都有480百万像素/秒的限制 我想在我们的当前例子中、您提到了在输出到显示器时会看到失真、因此我怀疑达到了一些 VPAC 限制、而不是编解码器限制。

    作为一个实验、您能尝试  降低每秒帧数以减少数据吞吐量吗? 如果为15 FPS、则将其降至10FPS、以查看是否仍然存在失真。 如果在10FPS 时仍然看到失真、请尝试进一步降低。

    此致、

    Takuma

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

    感谢您的意见。

    我已经尝试将 FPS 降低到最低 5 FPS 、但遗憾的是、使用高分辨率设置时、图像失真仍然存在。

    对于高分辨率采集、我使用 TI 提供的 DCC 文件:

    以高分辨率使用多个 IMX219摄像头时、这些 DCC 文件是否存在任何已知问题或配置限制?

    如果还有其他需要检查或调整的区域、请告诉我。

    此致、

    Noushad

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

    尊敬的 Noushad:

    如果在5FPS 下仍然出现失真、则可能不是带宽问题。  它的数据量应该与1个摄像头在15FPS 下的数据量相同。

    对于高分辨率捕获、我正在使用 TI 提供的 DCC 文件

    这些 DCC 文件是在哪里获得的? 我认为我们在默认的预构建 SD 卡映像中没有3280x2464 DCC 文件、但如果 这些文件 来自 E2E 主题、您可以链接 E2E 主题吗?

    同时、让我询问另一位团队成员、他们 当时正在配备一台800万像素摄像头、看看他们是否遇到了类似的问题。

    此致、

    Takuma

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

    尊敬的  Noushad:

    您可以尝试遵循此常见问题解答吗?

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1476091/faq-am6x-how-do-i-fix-stream-fifo-overflow-errors-in-the-csi2rx-linux-driver-with-num_pixels 

    此致、
    Jared