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.

[参考译文] AM62P:CSI2RX:Digilent PCam5C 无法在 SDK 11中显示流式传输

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1507668/am62p-csi2rx-digilent-pcam5c-fails-streaming-to-display-in-sdk-11

部件号:AM62P

工具/软件:

您好:

我运行 捕获来显示 说明、以测试当遇到以下错误时、我的 Digilent PCam5C 是否可以流式传输到 HDMI 显示器:

e2e.ti.com/.../CSI_5F00_Failure.txt

我确保仔细检查了传感器与 CSI 端口的连接、并使用了说明中所述的正确器件树叠加层。

除了此错误外、我还注意到在 TI 应用启动器中、"实时摄像头"应用不再存在。

我是否缺少向 HDMI 传输视频的任何步骤、或者这是一个错误?

谢谢

-工作

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

    您好作业、

    我注意到以下错误:

    错误:从元素/GstPipeline:pipaine0/GstAutoVideoSink:autovideosink0/GstKMSSink:autovideosink0-actual-sink-kms:Gstreamer 遇到一般资源错误。

    请尝试 kmssink 或 waylandsink:

    root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=640,height=480,format=UYVY ! ticolorconvert ! video/x-raw,width=640,height=480,format=NV12 ! waylandsink
    
    root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=640,height=480,format=UYVY ! kmssink driver-name=tidss force-modesetting=true
    
    

    此致、

    建中

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

    您好、建中、

    感谢您的答复。

    我尝试运行 kmssink 和 waylandsink 命令并遇到以下错误:

    e2e.ti.com/.../CSI_5F00_failure3.txt

    此致、

    -工作

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

    您能否提供"media-ctl -p"输出?

    您可以尝试使用 v4l2-ctl 或 yavta 来捕获映像吗?

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

    以下是输出:

    e2e.ti.com/.../CSI_5F00_Failure4.txt

    我能够使用 yavta 捕获一些原始数据帧。

    此致

    -工作

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

    尊敬的 Job:

    您应该在 v4l2-ctl capture 中使用/dev/video2:

    root@am62pxx-evm:~# v4l2-ctl -d /dev/video2 --set-fmt-video=width=640,height=480,pixelformat=UYVY --stream-mmap=6
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 67.50 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<^C
    

    此致、

    建中

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

    尊敬的建中:

    看起来 v4l2-ctl 现在工作正常、捕获原始帧似乎不是问题。

    e2e.ti.com/.../CSI_5F00_logs.txt

    遗憾的是、发行说明中列出的实时串流到 HDMI 显示器的说明仍然无法正常工作。 您是否能够重现我在初始帖子中出现的相同错误?

    谢谢

    -工作

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

    您可以在运行 gstreamer 之前尝试停止 Weston 吗?

    systemctl 停止清空

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

    在运行 gstreamer 之前停止 Weston 时、我不再看到错误、但流是深灰色屏幕。

    e2e.ti.com/.../CSI_5F00_logs2.txt

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

    它在我的设置中运行正常。 请查看以下日志:

    root@am62pxx-evm:~# uname -a
    Linux am62pxx-evm 6.12.17-ti-00771-gc85877d40f8e #1 SMP PREEMPT Tue Mar 25 12:45:29 UTC 2025 aarch64 GNU/Linux
    
    
    root@am62pxx-evm:~# systemctl stop emptty
    root@am62pxx-evm:~# v4l2-ctl --list-devices
    j721e-csi2rx (platform:30102000.ticsi2rx):
            /dev/video2
            /dev/video3
            /dev/video4
            /dev/video5
            /dev/video6
            /dev/video7
            /dev/media0
    
    wave5-dec (platform:30210000.video-codec):
            /dev/video0
            /dev/video1
    
    root@am62pxx-evm:~# gst-launch-1.0 v4l2src device="/dev/video2" ! video/x-raw, width=640, height=480, format=UYVY ! autovideosink
    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:07.393451540
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=640,height=480,format=UYVY ! kmssink driver-name=tidss force-modesetting=true
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1920
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 1080
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
    Redistribute latency...
    ^Chandling interrupt.
    Interrupt: Stopping pipeline ...
    Execution ended after 0:01:57.184529860
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am62pxx-evm:~# media-ctl -V '"ov5640 4-003c":0 [fmt:UYVY8_1X16/1920x1080@1/30 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/1920x1080 field:none]'
    root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=1920,height=1080,format=UYVY ! kmssink driver-name=tidss force-mo
    desetting=true
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1920
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 1080
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)1920, height=(int)1080, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)1920, height=(int)1080, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)1920, height=(int)1080, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)1920, height=(int)1080, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt709
    Redistribute latency...
    ^Chandling interrupt.
    Interrupt: Stopping pipeline ...
    Execution ended after 0:00:19.120135135
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am62pxx-evm:~# v4l2-ctl -d /dev/video2 --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap=6
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.76 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.75 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.75 fps
    <<<<<<<<<<<<<<<<<<^C
    root@am62pxx-evm:~# media-ctl -V '"ov5640 4-003c":0 [fmt:UYVY8_1X16/640x480@1/30 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"cdns_csi2rx.30101000.csi-bridge":0 [fmt:UYVY8_1X16/640x480 field:none]'
    root@am62pxx-evm:~# media-ctl -V '"30102000.ticsi2rx":0 [fmt:UYVY8_1X16/640x480 field:none]'
    root@am62pxx-evm:~# v4l2-ctl -d /dev/video2 --set-fmt-video=width=640,height=480,pixelformat=UYVY --stream-mmap=6
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.75 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.75 fps
    <<<<<<<<<<<<<<<<<<<<<<<<<<<<<^C
    root@am62pxx-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video2 ! video/x-raw,width=640,height=480,format=UYVY ! kmssink driver-name=tidss force-modesetting=true
    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width = 1920
    /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height = 1080
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    /GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
    /GstPipeline:pipeline0/GstKMSSink:kmssink0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
    /GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, width=(int)640, height=(int)480, format=(string)UYVY, framerate=(fraction)120/1, interlace-mode=(string)progressive, colorimetry=(string)bt601
    Redistribute latency...
    ^Chandling interrupt.
    Interrupt: Stopping pipeline ...
    Execution ended after 0:00:03.919460530
    Setting pipeline to NULL ...
    Freeing pipeline ...
    

    kmssink 是否适合您?

    您是否还可以尝试将捕获结果保存到文件、而不是流式传输到显示器?

    gst-launch-1.0 v4l2src device="/dev/video2! 视频/x-RAW、宽度=640、高度=480、格式=UYVY!  filesink location=ov5640.yuv

    然后使用 VLC 播放器播放录制的文件。

    此致、

    建中

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

    看起来您运行的命令解决了我的问题。 感谢您的帮助。

    此致

    -工作