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:AM62A USB 摄像头捕获失败问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1196059/sk-am62-am62a-usb-camera-capture-failed-issue

器件型号:SK-AM62

我将 USB 摄像头连接到 AM62A EVM、并检查其是否被识别为以下器件。

我使用 gstreamer 测试了视频输出、但它不会输出与 landsink 相关的错误。

我需要故障排除指南。

root@am62axx-evm:~ dmesg
[67.890215] USB 1-1:使用 xhci-hcd 的新型高速 USB 器件编号2
[68.082765] USB 1-1:找到新的 USB 设备、idVendor=1908、idProduct=2310、bcdDevice=1.00
[68.090947] USB 1-1:新 USB 器件字符串:MFR=1、Product=2、SerialNumber=0
[68.098083] USB 1-1:产品:USB2.0 PC 摄像头
[68.102538] USB 1-1:制造商:通用
[68.246598] uvcvideo:找到 UVC 1.00器件 USB2.0 PC 摄像头(1908:2310)
[68.255408]输入:USB2.0 PC 照相机:USB2.0 PC CAM as /devices/platform/bus@f0000/f91000.dwc3-USB/31100000.usb/xhci-hcd.1.auto/usb1/1-1/1-1:1.0/input/input0
[68.269911] usbcore:注册的新接口驱动程序 uvcvideo
[68.275830] USB 视频类驱动程序(1.1.1)
[68.286911] usbcore:注册的新接口驱动程序 snd-usb-audio


root@am62axx-evm:~ v4l2-ctl --list-devices
TI-CSI2RX (平台:30102000.ticsi2rx):
/dev/media0

wave5-dec (平台:wave5-dec):
/dev/video0

wave-enc (平台:wave-enc):
/dev/video1

USB2.0 PC 摄像头:USB2.0 PC CAM (usb-xhci-hcd.1.auto-1):
/dev/video2
/dev/video3
/dev/media1


root@am62axx-evm:~ v4l2-ctl --list-formats -d /dev/media1
无法检测到/dev/media1是什么设备,正在退出。
root@am62axx-evm:~ v4l2-ctl --list-formats -d /dev/video2
ioctl:VIDIOC_ENUM_FMT
键入:Video Capture

[0]:'YUV'(YUYV 4:2:2)
root@am62axx-evm:~ v4l2-ctl --list-formats -d /dev/video3
ioctl:VIDIOC_ENUM_FMT
键入:Video Capture

root@am62axx-evm:~ v4l2-ctl --list-formats-ext -d /dev/video2
ioctl:VIDIOC_ENUM_FMT
键入:Video Capture

[0]:'YUV'(YUYV 4:2:2)
尺寸:分立式640x480
间隔:离散0.033秒(30.000 fps)
间隔:离散0.067秒(15.000 fps)
尺寸:分立式352x288
间隔:离散0.033秒(30.000 fps)
间隔:离散0.067秒(15.000 fps)
尺寸:分立式320x240
间隔:离散0.033秒(30.000 fps)
间隔:离散0.067秒(15.000 fps)
尺寸:分立式176x144
间隔:离散0.033秒(30.000 fps)
间隔:离散0.067秒(15.000 fps)
大小:离散160x120
间隔:离散0.033秒(30.000 fps)
间隔:离散0.067秒(15.000 fps)

root@am62axx-evm:~ gst-launch-1.0 v4l2src device="/dev/video2! VIDEO/x-RAW,宽度=640,高度=480! 陆上接收机
正在将管道设置为暂停...
错误:管道不想暂停。
警告:来自元素/GstPipeline:流水线0/GstWaylandSink:waylandsink0:无法初始化 Wayland 输出
其他调试信息:
gst-plugins-bad-1.16.3/ext/wayland/gstwaylandsink.c (359):gst_wayland_sink_find_display ():/GstPipeline:fipine0/GstlandWaySink:waylandsink0:
无法创建 GstWlDisplay:"无法连接到航迹显示"(默认)"
正在将管道设置为 NULL ...
正在释放管道...

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

    您好、Hong、

    AM62A 没有 GPU、因此陆地将无法工作并被禁用。 您应该使用 kmsink。

    示例:

    gst-launch-1.0 -v videotestsrc! kmsink 驱动程序-name=tidss

    希望这对您有所帮助。

    此致

    苏伦

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

    感谢 Suren、  

    我使用您给我的 gstreamer 命令确认摄像机视频可以很好地输出到 HDMI。

    我还有一个问题。

    1) 1)是否有方法使用 gstremer 将摄像机图像以视频格式保存到文件系统?

    2)我想知道是否有方法通过以太网输出摄像头图像。

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

    您好、Hong、

    您可以将原始摄像机图像压缩为 H.264/HEVC 视频格式。

    在 AM62Ax 上、我们有用于 H.264/AVC 解码和编码的 v4l2h264dec/v4l2h264enc gstreamer 插件。 和 v4l2h265enc/v4l2h265解码、用于 HEVC 编码和解码。 它们是 AM62Ax 上硬件加速器的一部分。

    使用 videotestsrc 进行 H.264编码和解码的示例(在您的情况下、您可以使用摄像机源-v4l2src)

    gs-launch-1.0 videotestsrc num-buffers=100 pattern=ball! VIDEO/x-RAW、FORMAT=NV12! v4l2h264enc! filesink location=demo.264

    gst-launch-1.0文件 rc location=./demo.264! h264parse!  v4l2h264dec! 视频转换!  kmsink 驱动程序-name=tidss

    对于通过以太网连接在 EVM 上进行流式传输:

    您可以使用摄像机源而不是我在下面显示的文件 rc

    TX:gst-launch-1.0 -v 文件 rc location=/home/bun33s.mp4! 诱骗! 视频转换! v4l2h264enc! rtph264支付! udpsink 端口=5000主机=50.25.109.55
    Rx:gst-launch-1.0 -v udpsrc port=5000! 'application/x-rtp、encoding-name=H264、PAYLOAD=96'! rtph264depay! v4l2h264dec! 视频转换! kmsink 驱动程序-name=tidss

    希望这对您有所帮助。

    此致

    苏伦

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

    我确认您提供的 videotestsrc 工作正常。 但是、当将 h264enc 用作摄像头时、会出现如下所示的错误。 如果您告诉我可以使用的命令、那会很有帮助。

    root@am62axx-evm:~ gst-launch-1.0 v4l2src device="/dev/video2! VIDEO/x-RAW,宽度=640,高度=480! v4l2h264enc! 文件链接位置=demo1.264
    正在将管道设置为暂停...
    管道处于活动状态,不需要 PREROLL...
    错误:来自元素/GstPipeline:流水 线0/GstV4l2Src:v4l2src0:内部数据流错误。
    其他调试信息:
    ../gstreamer-1.16.3/libs/gst/base/gstbasesrc.c (3072):gst_base_src_loop ():/GstPipeline0/GstV4l2Src:v4l2src0:
    流媒体已停止,原因未协商(-4)
    错误:管道不想进行预发布。
    正在将管道设置为 NULL ...
    正在释放管道...

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

    您好、Hong、

    您能否使用最新发布的 AM62Ax 软件版本进行验证?

    我可以使用我在设置中连接的 USB 摄像头进行编码和解码。

    gst-launch-1.0 -v v4l2src device=/dev/video2! 视频转换! v4l2h264enc! 文件链接位置=out.264

    gst-launch-1.0 -v 文件 rc location=out.264! h264parse! v4l2h264dec! 视频转换! kmsink 驱动程序-name=tidss

    如果您能够使用最新的软件进行捕获和编码、请告诉我。

    此致

    苏伦

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

    尊敬的 Suren,您的命令在我的板上工作正常。  

    感谢你的帮助。 我解决了这个问题。  

    此致

    Sungman