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.

[参考译文] AM5728:使用 DRM 保存屏幕截图

Guru**** 2558380 points
Other Parts Discussed in Thread: AM5728

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/623978/am5728-save-screenshot-using-drm

器件型号:AM5728

您好!

我正在尝试保存 AM5728上显示内容的快速屏幕截图。 我正在使用 QT 应用程序将其渲染到 Wayland。 是否有任何示例说明如何使用 DRM/omapdrm 将 dumb 缓冲区或等效项映射到用户空间应用程序? 从 dev/fb0读取不起作用、并返回黑屏、显示"Please wait"(请稍候)


谢谢、

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

    你好,Vishal,

    在 Wayland 上、使用 MOD+S 快捷方式进行屏幕截图、使用 MOD+R 进行快速屏幕截图(视频)。 您可以在 Weston 中找到这些命令的源代码- /clients/screenshot.c 和 Weston - /src/screenshooter.c 文件。

    此致、
    Kemal

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

    感谢您的回复。 这些快捷方式确实起作用,但在录音过程中,QT 应用程序渲染(显示)开始跳过帧,并且在最后的录音中也缺少帧。 是否有方法提高/修复帧速率?

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

    它仅捕获更改内容、它是一种可变帧速率格式、在时仅记录新帧和时间戳
    实际上会发生变化。 有关详细信息,请参见 README 文件。

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

    感谢您提供这些信息。 遗憾的是、此方法不会为我提供固定的帧速率、并且当它记录时、它会滞后于我的 QT 渲染以显示。

    如何使用渲染到 Wayland-EGL 的 QT 快速应用程序、并获取包含帧缓冲区(DRM dumb 缓冲区?)内容的文件描述符 传递到 gstreamer 中。 我尝试了类似的方法,将 dev/fb0作为文件传递到 Gstreamer 中,该方法也起作用,但仅当我的 QT 应用程序呈现到 linuxfb 时才起作用。  

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

    请在 drmclone 应用程序上查找附加的修补程序以分配和映射 dumb 缓冲区。 看看这是否对您的方案有所帮助。  

    e2e.ti.com/.../example_2D00_applications_2D00_drm_2D00_tests_2D00_Support_2D00_for_2D00_dumb_2D00_buffers_2D00_with_2D00_drmClone.patch

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

    大家好、Manisha、

    感谢你的答复。

    此时、我可以使用 ioctls 将 dumb 缓冲区映射到用户空间。 但我想知道将这个哑缓冲器推入 gstreamer 流水线的最简单方法是什么。 使用 fbdev、我只需将 dev/fb0分配为 multifilesrc 插件的输入、但这与 DRM 不一样。 有什么想法吗?

    再次感谢、

    Vishal