[gnome-shell] ShellRecorder: improve the default pipeline



commit d4a26fbf4be668e8afa48e795c5a193c760ac6ab
Author: Owen W. Taylor <otaylor fishsoup net>
Date:   Mon Jan 30 16:30:03 2012 -0500

    ShellRecorder: improve the default pipeline
    
    The default pipeline was fairly aggressive about quality, and could
    be too expensive for some computers. Decrease the quality setting for
    the vp8 codec from 10 to 8, and increase the speed setting from 2 to 6.
    
    (Basically, quality affects the visual fidelity of the end result, while
    speed affects how much CPU the encoder uses to get a high compression
    ratio at that quality level.)
    
    Remove videorate from the pipeline, since the GStreamer VP8 encoder can
    handle variable-framerate streams. This means that we won't spend CPU
    encoding duplicate frames added by videorate.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=669066

 data/org.gnome.shell.gschema.xml.in |    2 +-
 src/shell-recorder.c                |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in
index a6438f0..325f408 100644
--- a/data/org.gnome.shell.gschema.xml.in
+++ b/data/org.gnome.shell.gschema.xml.in
@@ -127,7 +127,7 @@
         take care of its own output - this might be used to send the output
         to an icecast server via shout2send or similar. When unset or set
         to an empty value, the default pipeline will be used. This is currently
-        'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux'
+        'vp8enc quality=8 speed=6 threads=%T ! queue ! webmmux'
         and records to WEBM using the VP8 codec. %T is used as a placeholder
         for a guess at the optimal thread count on the system.
       </_description>
diff --git a/src/shell-recorder.c b/src/shell-recorder.c
index a32ad86..40df07c 100644
--- a/src/shell-recorder.c
+++ b/src/shell-recorder.c
@@ -148,7 +148,7 @@ G_DEFINE_TYPE(ShellRecorder, shell_recorder, G_TYPE_OBJECT);
  * (Theora does have some support for frames at non-uniform times, but
  * things seem to break down if there are large gaps.)
  */
-#define DEFAULT_PIPELINE "videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux"
+#define DEFAULT_PIPELINE "vp8enc quality=8 speed=6 threads=%T ! queue ! webmmux"
 
 /* The default filename pattern. Example shell-20090311b-2.webm
  */
@@ -1623,7 +1623,7 @@ shell_recorder_set_filename (ShellRecorder *recorder,
  * might be used to send the output to an icecast server
  * via shout2send or similar.
  *
- * The default value is 'videorate ! theoraenc ! oggmux'
+ * The default value is 'vp8enc quality=8 speed=6 threads=%T ! queue ! webmmux'
  */
 void
 shell_recorder_set_pipeline (ShellRecorder *recorder,



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