Bug 404346

Summary: Screen recording support
Product: [Applications] Spectacle Reporter: Tuomas-Matti Soikkeli <tsoikkeli>
Component: GeneralAssignee: Boudhayan Gupta <me>
Status: RESOLVED DUPLICATE    
Severity: wishlist CC: bugseforuns, nate
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description Tuomas-Matti Soikkeli 2019-02-14 14:33:18 UTC
SUMMARY

Would be nice to have video recording support in spectacle.
Comment 1 Boudhayan Gupta 2019-02-14 22:06:26 UTC
I no longer maintain Spectacle, so I won't close this as WONTFIX, but I don't think this will ever happen.

I can say that with some confidence because when I first architect-ed Spectacle, I wanted a clean separation between the business logic and the actual screen image grabbing code, because in my naivety I thought that's what video-recording is, repeatedly taking a screenshot, 30 times a second, and piping it to some tool that would stitch that into a video. Boy was I wrong.

First of all there's no API to actually do stitch images into a video with Qt (I thought QtMultimedia did what I wanted to do, but it doesn't, not without significant hackery which will lead to a suboptimal solution that can't encode in real-time at most). I tried to wrap mencoder with QProcess, with some success, but it was still a very ugly solution, and with further complications around recording and syncing audio, I just decided I didn't want this kind of complexity in Spectacle and didn't do it.

What I did want to do was actually turn the image grabbing code into a shared library or Qt plugin so that the bit of Spectacle that *could* be re-used for this would be, in an entirely new tool just meant for screen recording; I just didn't manage to complete that effort because I finished university and then life got in the way. But I think that's the way to go - spin off the image grabbing and conversion code into a reusable component, and build a new frontend that records video, possibly built around some multimedia library, let's say libvlc or something nice that does the heavy lifting for you so that you don't have to.

BTW, VLC media player can actually do screencasting so if you use libvlc you might not even have to code in the image grabber - libvlc might do everything you want by itself. I don't know how it works on Wayland though, YMMV.
Comment 2 Boudhayan Gupta 2019-06-11 23:45:53 UTC
Since no one has any other comments, I'm going to close this now.
Comment 3 Christoph Feck 2020-07-03 19:01:22 UTC

*** This bug has been marked as a duplicate of bug 423804 ***