Passing Pipelines to the built-in Recorder



Hello.

I am trying to communicate with the built-in recorder in GNOME Shell using the D-Bus API. I was able to do so 
using the following simple code:

#!/bin/env python
 
from gi.repository import GLib
from pydbus import SessionBus
import subprocess

loop = GLib.MainLoop()
bus = SessionBus()

calling = bus.get('org.gnome.Shell.Screencast', '/org/gnome/Shell/Screencast')
calling.Screencast('out.webm', {'framerate': GLib.Variant('i', 25), 'draw-cursor': GLib.Variant('b', False), 
'pipeline': GLib.Variant('s', 'vp8enc')})

loop.run()

However, the output file contains lagging and the recording process takes a huge amount of memory and CPU 
(see bug #757172). So one solution was to use V8 instead of V9. But As you can see in my code, it doesn't 
work. (If you remove the pipeline option it will work normally using V9, but I didn't know how to pass the v8 
encoder option to it).

Any help would be great.
Sincerely.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]