From e3f5d3b49bb3c1a2cceea0a4eeeec466df7fd8c5 Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Thu, 1 Mar 2018 18:52:43 +0100 Subject: [PATCH] Double the default bitrate Set the default video bitrate to 8Mbps. This greatly increase quality on fast motion, without negative side effects. --- README.md | 4 ++-- app/meson.build | 2 +- .../src/main/java/com/genymobile/scrcpy/ScreenEncoder.java | 5 ----- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 2f429474..e2ac7eb0 100644 --- a/README.md +++ b/README.md @@ -154,9 +154,9 @@ It accepts command-line arguments, listed by: scrcpy --help -For example, to increase video bitrate to 8Mbps (default is 4Mbps): +For example, to decrease video bitrate to 2Mbps (default is 8Mbps): - scrcpy -b 8M + scrcpy -b 2M To limit the video dimensions (e.g. if the device is 2540×1440, but the host screen is smaller, or cannot decode such a high definition): diff --git a/app/meson.build b/app/meson.build index c817b7f1..e62a60f7 100644 --- a/app/meson.build +++ b/app/meson.build @@ -73,7 +73,7 @@ conf.set('DEFAULT_MAX_SIZE', '0') # 0: unlimited # the default video bitrate, in bits/second # overridden by option --bit-rate -conf.set('DEFAULT_BIT_RATE', '4000000') # 4Mbps +conf.set('DEFAULT_BIT_RATE', '8000000') # 8Mbps # whether the app should always display the most recent available frame, even # if the previous one has not been displayed diff --git a/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java b/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java index 47992f55..3014397c 100644 --- a/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java +++ b/server/src/main/java/com/genymobile/scrcpy/ScreenEncoder.java @@ -16,7 +16,6 @@ import java.util.concurrent.atomic.AtomicBoolean; public class ScreenEncoder implements Device.RotationListener { - private static final int DEFAULT_BIT_RATE = 4_000_000; // bits per second private static final int DEFAULT_FRAME_RATE = 60; // fps private static final int DEFAULT_I_FRAME_INTERVAL = 10; // seconds @@ -40,10 +39,6 @@ public class ScreenEncoder implements Device.RotationListener { this(bitRate, DEFAULT_FRAME_RATE, DEFAULT_I_FRAME_INTERVAL); } - public ScreenEncoder() { - this(DEFAULT_BIT_RATE, DEFAULT_FRAME_RATE, DEFAULT_I_FRAME_INTERVAL); - } - @Override public void onRotationChanged(int rotation) { rotationChanged.set(true);