diff --git a/js/dbusServices/screencast/screencastService.js b/js/dbusServices/screencast/screencastService.js index 94e6f8f9c..fb56fdb3a 100644 --- a/js/dbusServices/screencast/screencastService.js +++ b/js/dbusServices/screencast/screencastService.js @@ -23,7 +23,7 @@ const ScreenCastProxy = Gio.DBusProxy.makeProxyWrapper(ScreenCastIface); const ScreenCastSessionProxy = Gio.DBusProxy.makeProxyWrapper(ScreenCastSessionIface); const ScreenCastStreamProxy = Gio.DBusProxy.makeProxyWrapper(ScreenCastStreamIface); -const DEFAULT_PIPELINE = 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux'; +const DEFAULT_PIPELINE = 'videoconvert chroma-mode=GST_VIDEO_CHROMA_MODE_NONE dither=GST_VIDEO_DITHER_NONE matrix-mode=GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY n-threads=%T ! queue ! vp8enc cpu-used=16 max-quantizer=17 deadline=1 keyframe-mode=disabled threads=%T static-threshold=1000 buffer-size=20000 ! queue ! webmmux'; const DEFAULT_FRAMERATE = 30; const DEFAULT_DRAW_CURSOR = true; @@ -218,7 +218,7 @@ var Recorder = class { _substituteThreadCount(pipelineDescr) { const numProcessors = GLib.get_num_processors(); const numThreads = Math.min(Math.max(1, numProcessors), 64); - return pipelineDescr.replace(/%T/, numThreads); + return pipelineDescr.replaceAll('%T', numThreads); } _ensurePipeline(nodeId) { @@ -230,7 +230,6 @@ var Recorder = class { keepalive-time=1000 resend-last=true ! video/x-raw,max-framerate=${framerate}/1 ! - videoconvert ! ${this._pipelineString} ! filesink location="${this._filePath}"`; fullPipeline = this._substituteThreadCount(fullPipeline);