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 将屏幕捕获同步到 VSYNC

Guru**** 2585275 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/631125/am5728-screen-capture-synchonized-to-vsync-using-drm

器件型号:AM5728

您好!

在尝试在 Wayland 上实现30fps 屏幕录制时、我已将 DRM 哑缓冲区映射到我使用 modetest 找到的3个帧缓冲区 ID。 我已使其正常工作、但我生成的视频有明显的撕裂。 我觉得我没有捕捉到与 Wayland/EGL 同步更新的哑铃缓冲器。 我尝试使用 DRM_IOCTL_WAIT_VBLANK,但这只会阻止到下一个 VBLANK (在此期间,缓冲器更新了 AFAIK);我希望在不修改缓冲器时有时间,以便我可以安全地捕获它们并馈入 GStreamer 流水线。

是否有人知道在用户空间应用(QT)中访问原始 Vsync 信号的方法? 欢迎使用任何其他提示/解决方案。

谢谢、

Vishal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    很抱歉、我是 ooo。
    我会检查并返回给您。

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

    [引用 user="Vishal">是否有人知道在用户空间应用(QT)中访问原始 Vsync 信号的方法? [/报价]

    DRM_IOCTL_WAIT_VBLANK 在进入用户空间时以轻微延迟提供"原始" VSYNC 信号。

    您需要 使用 Weston 来捕获帧。 无法窥视 Weston 的帧缓冲区并期望捕获有效的帧。

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

    感谢你的答复。 我如何直接与 Weston 讨论或修改 Weston 以捕获有效帧? 感谢您提供任何资源。

    我试过 Weston 的屏幕拍摄器、但它不足以录制稳定的30fps 视频。

    再次感谢、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否尝试过这里的建议-
    wiki.archlinux.org/.../wayland
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、这是我尝试的方法、它没有提供足够的30 fps 记录。