AsteroidOS / asteroid-launcher

AsteroidOS launcher and Wayland compositor based on Qt5, QML and QtWayland via Lipstick.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Screen recording

ChandlerSwift opened this issue · comments

More than once, I've had an issue to debug or wanted to post a screen recording demo of what's happening on the watch. AsteroidOS does have screenshot support via D-Bus (as noted in the docs), but as far as I can tell no support for screen recordings.

Android has similar functionality that perhaps we could model in the screenrecord tool (which in fact does come with a default build of asteroidos, but doesn't know how to talk to our compositor!)

root@harmony:~# which screenrecord
/system/bin/screenrecord
root@harmony:~# screenrecord test.mp4
ERROR: unable to get display characteristics
root@harmony:~#

This is on my list of issues I'm planning on taking a look at eventually, and I'd welcome any input/design suggestions/"this is basically done, you just have to use ____ API" that anyone has to offer!

Recently, I had a look into this, because I needed it for something too 😉
Only did some research, but it basically already exists for SailfishOS/Mer Project.

Lipstick is base for asteroid-launcher. Upstream Lipstick has support for screen recording, but this has been removed by @FlorentRevest in this commit: AsteroidOS/lipstick@0274da6.
You likely only have to re-implement this, here is the upstream variant: https://git.sailfishos.org/mer-core/lipstick/commits/master/src/compositor/lipstickrecorder.cpp

Once that is done, the compositor should have support for screen recording, then all you have to do is create a screen recorder app. Which also exists: https://github.com/nemomobile/lipstick-recorder or https://github.com/CODeRUS/screenrecorder

You will likely need to change the app so that it works in a client/server configuration, as on AsteroidOS we don't support background apps(i.e. screen goes off -> app gets killed).