[gnome-shell] ShellRecorder: improve the default pipeline
- From: Owen Taylor <otaylor src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] ShellRecorder: improve the default pipeline
- Date: Tue, 31 Jan 2012 15:48:28 +0000 (UTC)
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]