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.

[参考译文] Linux/AM3354:Qt5摄像头演示失败

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/666954/linux-am3354-qt5-camera-demo-fails

器件型号:AM3354

工具/软件:Linux

你(们)好

 我正在评估 AM3354 平台上的摄像头功能。

 我们使用的是 SDK 03.02.00.05。 它基于 Qt5.6.2

 我们还有 Logitech USB 摄像头。

 插入摄像头后、我可以看到 UVC 摄像头的日志:

使用 musb-hdrc 的新型高速 USB 器件3
uvcvideo:找到 UVC 1.00器件 (046d:081b)
输入:UVC 摄像头(046d:081b)作为/devices/platform/ocp/47400000.usb/47401c00.usb/musb-hdrc.1.auto/usb2/2-1/2-1:1.0/input/input0

 
 我用 GitHub 的运动项目 来测试摄像头、它工作正常。对摄像头驱动器进行编程是可以的。

 现在、当我尝试运行正式的 Qt5摄像头演示时、它不起作用。如下所示:

导出 QTDIR =/usr/lib
导出 LD_LIBRARY_PATH=$QTDIR/
导出 QT_QPA_platform=eglfs:/dev/fb0
导出 QT_QPA_FONTDIR=$QTDIR/字体
导出 QT_PLUGIN_PATH=$QTDIR/qt5/plugins
导出 QT_QPA_EVDEV_Touchscreen 参数="linuxinput:/dev/input/event1

/usr/share/qt5/examples/multimediawidgets/camera/camera

 运行摄像头演示时未找到错误日志。

 屏幕如下所示:

 

我还尝试运行另一个演示:

/usr/share/qt5/examples/multimedia/declarative-camera/declarative-camera

屏幕如下所示:

声明性相机确实报告了一些错误、例如:

QRC://VideoCaptureControls.QML:110:错误:无法将[未定义]分配给 QString
QRC:///CameraListButton.QML:65:5:QML CameraListPopup:检测到属性"CurrentValue"的绑定循环
QRC://PhotoCaptureControls.QML:135:错误:无法将[未定义]分配给 QString
QRC:///CameraListButton.QML:65:5:QML CameraListPopup:检测到属性"CurrentValue"的绑定循环
无法获取参数值:不支持该参数。

但我不知道它是否相关。

但这两种应用看起来都是相同类型的问题。

摄像头没有预览。

=========================== 我自己在 e2e=========================================================================================================================中的上一个线程的最新更新

根据 Margarita Gashova 的建议

我提到了这个主题:
基本上说 Qt5应该与 Gstreamer-0.10配合使用、以使摄像头正常工作。而不是 gstreamer-1.0
我尝试交叉编译以下内容并将其安装在电路板上:
gst-plugins-bad-0.10.23.tar
gst-plugins-base-0.10.36.tar
gst-plugins-good-0.10.31.tar
gstreamer-0.10.36.tar

但仍然没有预览。

然后我尝试删除原始 gstreamer-1.0软件包:
opkg remove --force-depends gstreamer1.0*

当我开始时:
/usr/share/qt5/examples/multimediawidgets/camera/camera
它报告:
defaultServiceProvider::requestService():找不到-"org.qt-project.qt.camera"的服务


我想 Qt5甚至不打算寻找 gstreamer-0.10?
它仍然在寻找 gstreamer-1.0类的东西?

因此我怀疑。要么有某种配置使 Qt5默认查找 gstreamer-1.0?
还是在编译 Qt5库时修复了这种设置?
我还稍微深入研究了处理器 SDK。
我找到了这样的配方:
sources/meta-openembedde/meta-multimedia /配方-multimedia /gstreamer-0.10

这意味着我可能需要使用 Arago 重新构建整个 SDK、以便同时构建 Qt5和 gstreamer-0.10? 而不仅仅是构建 gstreamer-0.10本身?

如果是,我该怎么做?

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

    您好!

    请查看此 e2e 线程 Manisha 的答案:
    e2e.ti.com/.../605939

    但是,我在我的一边尝试了
    /video-graphics-test -platform eglfs
    我在显示屏上看到捕获的视频。

    在主机上尝试此演示的步骤:
    CD ti-PSDK
    进行视频图形测试
    CD 示例应用程序/
    低侧
    您应该会看到电路板上的 VIDEO -GRAPHA-TEST-1.0 dir cp。
    在主板上,您应该停止 Weston 并执行./video-graphics-test -platform eglfs

    希望这对您有所帮助。

    BR
    玛格丽塔

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

    您好、Margarita

        我的 SDK 是 Processor SDK 03.02.00.05

        但我搜索了视频图形测试。 在我自己的 SDK 中找不到它。

        以下是我的 SDK 的外观:

    延东@延东- VirtualBox:~/ tisdk$ ll
    共计116
    drwxr-xr-x 8 Yandong Yandong 4096 6月21 2017
    drwxr-xr-x 22延东4096  2月2615:24../../
    drwxr-xr-x 6 Yandong Yandong 4096 6月23 2017 Build/
    drwxr-xr-x 7延东 4096 6月12 2017 configs/
    drwxr-xr-x 4 Yandong Yandong 57344 1月1012:58下载/
    drwxr-xr-x 8 Yandong Yandong 4096 6月23 2017 .git /
    -rw-r--r-- 1延东   延东59 6月12 2017 .gignore
    -rwxr-xr-1 延东延东24682 6月12 2017 OE-layertool-setup.sh*
    drwxr-xr-x 3 Yandong Yandong 4096 6月12 2017示例文件/
    drwxr-xr-x 10 Yandong Yandong 4096 6月12 2017来源/

     

      
     通常、我需要调用 bitbake 来制作一些东西。例如:

     MACHINE=AM335x-EVM bitbake Arago-core-tisdk-image

     但我不能只将 directly.cause 的 tisdk 根目录中没有 makefile 文件"制作"。

     我在这里没有任何线索。处理器 SDK 03.02.00.05可能没有配备视频图形测试功能?

     另一个线索是:

      因为我运行了摄像机演示应用程序。下面是我所做的:

     systemctl 禁用 matrix-gui-2.0.service
     systemctl 禁用 weston.service
     资料来源:setqt5-env.sh
     /usr/share/qt5/examples/multimediawidgets/camera/camera

     所以我怀疑这是因为我禁用了 Weston 吗?

     因此、我将步骤更改为:

     systemctl 禁用 matrix-gui-2.0.service
     资料来源:setqt5-env.sh
     /usr/share/qt5/examples/multimediawidgets/camera/camera

     现在、我将发布一些新日志:

    root@AM335x-EVM:///usr/share/qt5/examples/multimediawidgets/camera/camera
    无法加载模块:/usr/lib/gbm/gbm_dri.so:无法打开共享目标文件:无此类文件或目录
    无法加载模块:/usr/lib/gbm/gbm_gallium_drm.so:无法打开共享目标文件:无此类文件或目录
    加载的模块:GBM_PVR.SO
    找到有效的 GBM 后端:GBM_PVR.SO
    无法设置 DRM CRTC 模式! (权限被拒绝)
    procPageFlipReq():无法自动添加 CRTC (权限被拒绝)
    由于主线程被阻止、无法启动视频表面。
    由于主线程被阻止、无法启动视频表面。

     



    红色的日志是我以前从未见过的新日志。

     

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

    如果我停止了 Weston。 但不禁用它。

    例如:

    /etc/init.d/weston 停止

    并重新运行演示。

    它仍然不工作。

    唯一的变化是以下日志已消失:

    无法设置 DRM CRTC 模式! (权限被拒绝)
    procPageFlipReq():无法自动添加 CRTC (权限被拒绝)
    由于主线程被阻止、无法启动视频表面。
    由于主线程被阻止、无法启动视频表面。

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

    当您运行./Camera Weston 时、应该会运行。
    关于视频-图形-测试演示、它分配在安装了 PSDK 的/path 中/示例-应用文件夹。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    好的。然后我猜需要处理新日志。如果 Weston 需要运行。
    无法设置 DRM CRTC 模式! (权限被拒绝)
    procPageFlipReq():无法自动添加 CRTC (权限被拒绝)
    由于主线程被阻止、无法启动视频表面。
    由于主线程被阻止、无法启动视频表面。


    我检查了示例应用程序/文件夹。但它似乎不在那里?

    root@semiyd-VirtualBox:/opt/ti-processor-sdk-linux-am335x-evm-03.02.00.05/example-applications ll
    共计52.
    drwxr-xr-x 13 1001 4096 3月29 2017
    drwxr-xr-x 8 root 4096 5月25 2017 ../../
    drwxr-xr-x 3 1001 4096 1月16 2017 am-sysinfo-gIT/
    drwxr-xr-x 6 1001 4096 1月16 2017 arm-benchmark-1.3/
    drwxr-xr-x 3 1001 4096 1月16 2017条形码 ROI-01.00.00/
    drwxr-xr-x 7 1001 4096 1月16 2017 matrix-GUI-2.0/
    drwxr-xr-x 2 1001 4096 1月16 2017 matrix-GUI-browser-2.0/
    drwxr-xr-x 10 1001 4096 1月16 2017 omapconf-1.73/
    drwxr-xr-x 2 1001 4096 1月16 2017 oprofile-example/
    drwxr-xr-x 7 1001 4096 1月16 2017 PRU-ICSS-5.1.0/
    drwxr-xr-x 2 1001 4096 1月16 2017 refresh-screen-2.0/
    drwxr-xr-x 7 1001 4096 1月16 2017 ti-crypto-example-gIT/
    drwxr-xr-x 2 root 4096 3月29 2017 tilcdc-test/
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您是否试用过最新的 PSDK?

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    还没有。
    我有04.00.00.04。 但在示例应用中、似乎也没有视频-图形-测试。
    我正在下载最新的04.02.00.09以查看其中的内容。
    虽然移植到最新的 sdk...it 需要付出很大的努力、但似乎没有什么可尝试的。对吧?


    谢谢 Margarita。


    延东
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在最近的04.02.00.09中检查了示例应用/。 似乎仍然没有视频-图形-测试的迹象

    TI-PROCESSOR-SDK-LINUX-AM335x-EVM-04.02.00.09/示例应用$ ll
    总计48K
    drwxr-xr-x 3 Yandong 编程器4.0K 二月2709:50 am-sysinfo-git
    drwxr-xr-x 6 Yandong 编程器4.0K 二月2709:50 arm-benchmark-1.3
    drwxr-xr-x 3延东编程器4.0K Feb.2709:50 barry-ROI-01.00.00
    drwxr-xr-x 2 Yandong 编程器4.0K 二月2709:50 EVSE-HMI-1.0
    drwxr-xr-x 7延东编程器4.0K Febr2709:50 matrix-GUI-2.0
    drwxr-xr-x 2 Yandong 编程器4.0K 二月2709:50 matrix-GUI-browser-2.0
    drwxr-xr-x 10 Yandong 编程器4.0K 二月2709:50 omapconf-1.73
    drwxr-xr-x 2 Yandong 编程器4.0K 二月2709:50配置文件示例
    drwxr-xr-x 2 Yandong 编程器4.0K Feb.2709:50保护继电器-HMI-1.0
    drwxr-xr-x 7延东编程器4.0K 二月2709:50 PRU-ICSS-5.1.0
    drwxr-xr-x 2 Yandong 编程器4.0K 二月2709:50 refresh-screen-2.0
    drwxr-xr-x 7 Yandong 编程器4.0K 二月2709:50 ti-crypto-example-git
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    实际上、您是否能够使用 v4l2从视频源进行采集?

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当然
    我有一个名为"MOTION"的测试应用程序
    与 Qt 无关、直接访问摄像头。
    我可以用它打开摄像头并实际捕获视频
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    好的。 让我对此进行调查、当我有东西时、我会回来找您。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试了最新的处理器 SDK 04.02.00.09
    与 Qt5.7.1配合使用

    这种现象是相同的

    在 Weston 运行时、我获得:
    无法设置 DRM (4) CRTC (24)模式! (权限被拒绝)
    无法设置 DRM (4) CRTC (24)模式! (权限被拒绝)
    无法设置 DRM (4) CRTC (24)模式! (权限被拒绝)

    当我停止 Weston 并运行/usr/share/qt5/examples/multimediawidgets/camera/camera 时

    屏幕上没有预览,应用程序启动正常,与 PSDK 03.02.00.05类似
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想知道我的环境设置是否有问题?




    !/bin/sh

    导出 QTDIR =/usr/lib
    导出 LD_LIBRARY_PATH=$QTDIR/
    导出 QT_QPA_platform=eglfs:/dev/fb0
    导出 QT_QPA_FONTDIR=$QTDIR/字体
    导出 QT_PLUGIN_PATH=$QTDIR/qt5/plugins
    导出 QT_QPA_EVDEV_Touchscreen 参数="linuxinput:/dev/input/event1
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引用 user="semiyd"]无法设置 DRM (4) CRTC (24)模式! (权限被拒绝)

    这取决于 QPA。

    PSDK 中的 QT5是在启用 Wayland 的情况下预构建的、因此 wayland-EGL 是默认的 QPA。 在这种情况下、Weston 应运行。

    如果您需要不带 Weston (Weston stop)的 QT 应用程序,则可以使用 “- platform”选项为 exmaple eglfs 指定所需的 QPA。

    如果我有其他答案、请您回复。

    BR
    玛格丽塔

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

    你(们)好

       我认为我的环境设置包括以下行:

      导出 QT_QPA_platform=eglfs:/dev/fb0

      不符合 wayland/Weston 的规定。

      我进行了另一项测试。

      而不运行我自己的环境设置脚本。

     只需在 Weston 启动后运行演示即可。

      

    root@AM335x-EVM:///usr/share/qt5/examples/multimediawidgets/camera/camera

    使用 Wayland-EGL
    wlpvr:已初始化 PVR 服务

     这次摄像头演示可以在 Weston 运行的情况下运行。

     屏幕如下所示:

    但仍然没有预览。

    但至少这种情况表明、原因不是因为在 Weston 运行时无法运行演示。

    谢谢

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

    我与专家进行了磋商。 我们似乎不支持用于摄像机捕捉的 QT 演示。
    您可以使用 v4l2进行捕获。
    关于 qt、您可以使用此论坛 https://forum.qt.io

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