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:用于访问以太网和 USB 摄像头数据的 G-streamer 流水线设置命令问题

Guru**** 2436290 points
Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1539977/tda4vh-q1-issue-with-g-streamer-pipeline-setup-command-to-access-ethernet-and-usb-camera-data

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

工具/软件:

大家好、我正在使用 2 个 TI EVM 的 1 个 TDA4VH Q1 和 AM62P。

我有两个不同的摄像头源 1。 Logitech USB 摄像头和我们公司的第二个以太网摄像头、我尝试使用 TI EVM 在实时显示器上显示这两个数据流

我在 TDA4 中使用 SDK 9.2.0.5、在 AM62p 中使用 SDK 10.01.10.04

我知道 SDK 和硬件之间存在差异、因此我们需要在 AM62P 与 TDA4VH 中以不同的方式设置 G-streamer 流水线、下面是我在 AM62P 中工作的命令、TDA4VH 中无法运行、您可以帮助我找到导致这个问题的根源。

AM62P 中的工作命令:

USB 摄像头:gst-launch-1.0 -v v4l2src device=/dev/video0! 视频/x-RAW、宽度=640、高度=480、格式=YUY2! 视频转换! autovideosink sync=false


以太网摄像机:gst-launch-1.0 -v udpsrc 多播组=224.0.40.116 多播 iface=“eth0"端口“端口=5004 caps=“application/x-rtp、media=(string)video、clock-rate=(int)90000、encoding-name=(string)h264、payload=(int)96“自动多播=true! rtph264depay! 汤底鱼! 视频转换! 视频刻度! video/x-raw、width=1280、height=720! autovideosink sync=false

TDA4VH 中使用的命令不起作用。

USB 摄像头:root@j784s4-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video0! 视频/MPEG! jpegdec! 视频转换! autovideosink sync=false
警告:错误的管道:无法将 v4l2src0 链接到 jpegdec0、jpegdec0 无法处理 caps video/mpeg

以太网摄像机:gst-launch-1.0 -v udpsrc 多播组=224.0.40.116 多播 iface=“eth0"端口“端口=5004 caps=“application/x-rtp、media=(string)video、clock-rate=(int)90000、encoding-name=(string)h264、payload=(int)96“自动多播=true! rtph264depay! 汤底鱼! 视频转换! 视频刻度! video/x-raw、width=1280、height=720! autovideosink sync=false

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

    您好、您能尝试在流水线中指定正确的上限吗? 使用视频/MPEG 和 jpegdec 不匹配。 如果您的摄像机正在拍摄 JPEG 图像、则应使用 image/jpeg 图像。 尝试使用以下流水线:

    • gst-launch-1.0 -v v4l2src device=/dev/video0! image/jpeg、宽度=640、高度=480、帧速率=30/1! jpegdec! 视频转换! autovideosink sync=false

    谢谢您、
    Sarabesh S.

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

    您好、Sarabesh Srinivasan、

    我使用上述命令进入了这个错误消息


    root@j784s4-evm:~# gst-launch-1.0 -v v4l2src device=/dev/video0! image/jpeg、宽度=640、高度=480、帧速率=30/1! jpegdec! 视频转换! autovideosink sync=false


    正在将管道设置为已暂停...
    错误:来自元素/GstPipeline:pipaine0/GstV4l2Src:v4l2src0:设备“/dev/video0 “不是捕获设备。
    其他调试信息:
    ../gst-plugins-good-1.20.7/sys/v4l2/v4l2_calls.c (629):gst_v4l2_open ():/GstPipeline0/GstV4l2Src:v4l2src0:
    能力:0x4204000
    错误:流水线不想预卷。
    无法将管道设置为暂停。
    正在将管道设置为空...
    正在释放管道...
    root@j784s4-evm:~#

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

     您好:

    是否确定/dev/video0 是摄像头输入? 此外、您能否确认它是否以 JPEG 格式捕获?

    J784s4 具有与 AM62P 相同的 Wav521CL 编解码器驱动程序、因此您的流水线应该可以跨器件进行转换。 唯一的区别是 J784s4 具有两个 VPU 内核、可实现更高的吞吐量。

    谢谢您、
    Sarabesh S.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 事实证明、TDA4Vh EVM 上的 USB A 未启用、当我切换到 USB-C 时可以获得视频。 谢谢你的 USB 相机 pipelie Srinivasan。

    2.您能否确认此流水线是否正确设置了 TDA4vh 以访问以太网摄像头、以下命令包含摄像头详细信息

    1. root@j784s4-evm:/dev# gst-launch-1.0 -v udpsrc multicast-group=224.0.40.116 multicast-iface=“eth1" port=5006“ port=5006 caps=“application/x-rtp、media=(字符串)video、clock-rate=(int) 90000、encoding-name=(字符串)H264、payload=(int=96“ auto-multicultics=true! rtph264depay! 汤底鱼! 视频转换! 视频刻度! 视频/x-RAW、宽度=640、高度=480! autovideosink sync=false
      正在将管道设置为已暂停...
      流水线是实时的,不需要 PREROLL ...
      从元素“autovideosink0"获取“获取上下文:gst.gl.GLDisplay=Context、gst.gl.GLDisplay=(GstGLDisplay)“\(GstGLDisplayWayland\)\ gldisplaywayland0“;
      流水线是 PREROLLED。
      正在设置播放管道...
      /GstPipeline:pipaine0/GstUDPSrc:udpsrc0.GstPad:CAPS src = application/x-RTP、media=(字符串)视频、clock-rate=(int) 90000                     、coding-name=(字符串)H2 64、payload=(int)96
      /GstPipeline:pipaine0/GstRtpH264Depay:rtph264depay0.GstPad:Sink:cap = application/x-RTP、media=(字符串)视频、clock-rate=                     (int) 90000、encoding-na me=(字符串)H264、payload=(int) 96
      新时钟:GstSystemClock
    2. 不确定这是否有帮助、但在 AM62p EVM 上进行测试时、我可以使用相同的流水线正确看到视频。  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢您的 USB 相机 pipelie Srinivasan

    没问题!

    您能否确认此流水线是否正确设置了 TDA4vh 以访问以太网摄像头、以下命令包含摄像头详细信息

    1.是的,只要 eth1 处于活动状态并加入多播组,我就可以确认该管道看起来正确且正常运行。]

    2.如前所述、如果您的流水线在 AM62P 上正常工作、则它将转换到 TDA4VH。

    希望这可以解决您的问题。

    谢谢您、
    Sarabesh S.

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

    您好 Srinivasan、  
    在 TDA4VH 上设置以太网摄像头流水线时仍然面临问题、收到以下错误

    1. root@j784s4-evm:/dev# gst-launch-1.0 -v udpsrc multicast-group=224.0.40.116 multicast-iface=“eth1" port=5006“ port=5006 caps=“application/x-rtp、media=(字符串)video、clock-rate=(int) 90000、encoding-name=(字符串)H264、payload=(int=96“ auto-multicultics=true! rtph264depay! 汤底鱼! 视频转换! 视频刻度! 视频/x-RAW、宽度=640、高度=480! autovideosink sync=false
      正在将管道设置为已暂停...
      流水线是实时的,不需要 PREROLL ...
      从元素“autovideosink0"获取“获取上下文:gst.gl.GLDisplay=Context、gst.gl.GLDisplay=(GstGLDisplay)“\(GstGLDisplayWayland\)\ gldisplaywayland0“;
      流水线是 PREROLLED。
      正在设置播放管道...
      /GstPipeline:pipaine0/GstUDPSrc:udpsrc0.GstPad:CAPS src = application/x-RTP、media=(字符串)视频、clock-rate=(int) 90000、coding-name=(字符串)H264、payload=(int)96
      /GstPipeline:pipaine0/GstRtpH264Depay:rtph264depay0.GstPad:Sink:cap = application/x-RTP、media=(字符串)视频、clock-rate=(int) 90000、encoding-name=(字符串)H264、payload=(int) 96
      新时钟:GstSystemClock


      我可以做些什么来理解这个问题吗?  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:  

    您是否可以在流水线的开头添加 GST_DEBUG=3:“GST_debug=3 GST-launch-1.0 ...“

    执行此操作后、请共享日志。

    谢谢、
    Sarabesh S.

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

    您好:  

    您能否遵循以下常见问题解答中给出的示例:  【常见问题解答】SK-AM69:如何通过 RTSP 源运行 GStreamer 流水线 

    这将为如何编写管道提供一个框架。

    谢谢、
    Sarabesh S.