From 28d2d152809daeb4cdf6d0138784635db5dde9ba Mon Sep 17 00:00:00 2001 From: Jared Goodwin Date: Mon, 6 Apr 2020 09:01:40 -0700 Subject: [PATCH] Auto quality tweaks. --- ScreenCast.Core/Models/Viewer.cs | 32 +++++++++++-------- ScreenCast.Core/Services/ScreenCasterBase.cs | 3 +- ScreenCast.Core/Utilities/ImageUtils.cs | 1 - .../scripts/RemoteControl/RCBrowserSockets.js | 3 +- .../RemoteControl/RCBrowserSockets.js.map | 2 +- .../scripts/RemoteControl/RCBrowserSockets.ts | 3 +- .../scripts/RemoteControl/RtcSession.js | 4 +++ .../scripts/RemoteControl/RtcSession.js.map | 2 +- .../scripts/RemoteControl/RtcSession.ts | 5 +++ 9 files changed, 34 insertions(+), 21 deletions(-) diff --git a/ScreenCast.Core/Models/Viewer.cs b/ScreenCast.Core/Models/Viewer.cs index cb54c6a0..2a5947a9 100644 --- a/ScreenCast.Core/Models/Viewer.cs +++ b/ScreenCast.Core/Models/Viewer.cs @@ -12,11 +12,10 @@ namespace Remotely.ScreenCast.Core.Models { public class Viewer : IDisposable { - private long imageQuality; + private int imageQuality; public Viewer() { - EncoderParams = new EncoderParameters(); ImageQuality = 60; } public bool AutoAdjustQuality { get; internal set; } = true; @@ -25,7 +24,7 @@ namespace Remotely.ScreenCast.Core.Models public EncoderParameters EncoderParams { get; private set; } public bool FullScreenRefreshNeeded { get; internal set; } public bool HasControl { get; set; } - public long ImageQuality + public int ImageQuality { get { @@ -43,14 +42,19 @@ namespace Remotely.ScreenCast.Core.Models } imageQuality = value; - EncoderParams.Param[0] = new EncoderParameter(Encoder.Quality, value); + EncoderParams = new EncoderParameters() + { + Param = new[] + { + new EncoderParameter(Encoder.Quality, value) + } + }; } } public string Name { get; set; } - public int WebSocketBuffer { get; set; } public WebRtcSession RtcSession { get; set; } public string ViewerConnectionID { get; set; } - + public int WebSocketBuffer { get; set; } public void Dispose() { RtcSession?.Dispose(); @@ -61,6 +65,11 @@ namespace Remotely.ScreenCast.Core.Models return RtcSession?.CurrentBuffer > 1_000_000 || WebSocketBuffer > 1_000_000; } + public bool IsUsingWebRtc() + { + return RtcSession?.IsPeerConnected == true && RtcSession?.IsDataChannelOpen == true; + } + public async Task ThrottleIfNeeded() { var currentBuffer = IsUsingWebRtc() ? @@ -71,7 +80,7 @@ namespace Remotely.ScreenCast.Core.Models { if (AutoAdjustQuality) { - ImageQuality -= 10; + ImageQuality = Math.Max(ImageQuality - 1, 0); Logger.Debug($"Auto-adjusting image quality. Quality: {ImageQuality}"); } @@ -79,15 +88,10 @@ namespace Remotely.ScreenCast.Core.Models Logger.Debug($"Throttling output due to buffer size. Size: {currentBuffer}. Delay: {delay}"); await Task.Delay(delay); } - else + else if (AutoAdjustQuality) { - ImageQuality = Math.Min(ImageQuality + 10, 60); + ImageQuality = Math.Min(ImageQuality + 1, 60); } } - - public bool IsUsingWebRtc() - { - return RtcSession?.IsPeerConnected == true && RtcSession?.IsDataChannelOpen == true; - } } } diff --git a/ScreenCast.Core/Services/ScreenCasterBase.cs b/ScreenCast.Core/Services/ScreenCasterBase.cs index 98d749a0..5a6a21eb 100644 --- a/ScreenCast.Core/Services/ScreenCasterBase.cs +++ b/ScreenCast.Core/Services/ScreenCasterBase.cs @@ -122,8 +122,7 @@ namespace Remotely.ScreenCast.Core.Services else { await casterSocket.SendScreenCapture(encodedImageBytes, viewerID, diffArea.Left, diffArea.Top, diffArea.Width, diffArea.Height, viewer.ImageQuality); - // Shave some off so it doesn't get deadlocked by dropped frames. - viewer.WebSocketBuffer += (int)(encodedImageBytes.Length * .9); + viewer.WebSocketBuffer += encodedImageBytes.Length; } } } diff --git a/ScreenCast.Core/Utilities/ImageUtils.cs b/ScreenCast.Core/Utilities/ImageUtils.cs index 3b909a30..cfe2a230 100644 --- a/ScreenCast.Core/Utilities/ImageUtils.cs +++ b/ScreenCast.Core/Utilities/ImageUtils.cs @@ -19,7 +19,6 @@ namespace Remotely.ScreenCast.Core.Utilities { using (var ms = new MemoryStream()) { - //bitmap.Save(ms, ImageFormat.Jpeg); bitmap.Save(ms, JpegEncoder, encoderParams); return ms.ToArray(); } diff --git a/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.js b/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.js index 59391007..c1decfc8 100644 --- a/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.js +++ b/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.js @@ -147,7 +147,8 @@ export class RCBrowserSockets { hubConnection.on("ScreenCapture", (buffer, left, top, width, height, imageQuality) => { //console.log("Websocket frame received."); this.SendBufferUpdate(buffer.byteLength); - if (Number(UI.QualitySlider.value) != imageQuality) { + if (UI.AutoQualityAdjustCheckBox.checked && + Number(UI.QualitySlider.value) != imageQuality) { UI.QualitySlider.value = String(imageQuality); } var url = window.URL.createObjectURL(new Blob([buffer])); diff --git a/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.js.map b/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.js.map index 5cea41c4..ceafdbd9 100644 --- a/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.js.map +++ b/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.js.map @@ -1 +1 @@ -{"version":3,"file":"RCBrowserSockets.js","sourceRoot":"","sources":["RCBrowserSockets.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"RCBrowserSockets.js","sourceRoot":"","sources":["RCBrowserSockets.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.ts b/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.ts index 25bed168..0ce168e1 100644 --- a/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.ts +++ b/Server/wwwroot/scripts/RemoteControl/RCBrowserSockets.ts @@ -162,7 +162,8 @@ export class RCBrowserSockets { //console.log("Websocket frame received."); this.SendBufferUpdate(buffer.byteLength); - if (Number(UI.QualitySlider.value) != imageQuality) { + if (UI.AutoQualityAdjustCheckBox.checked && + Number(UI.QualitySlider.value) != imageQuality) { UI.QualitySlider.value = String(imageQuality); } diff --git a/Server/wwwroot/scripts/RemoteControl/RtcSession.js b/Server/wwwroot/scripts/RemoteControl/RtcSession.js index cf0483d6..a4dfc310 100644 --- a/Server/wwwroot/scripts/RemoteControl/RtcSession.js +++ b/Server/wwwroot/scripts/RemoteControl/RtcSession.js @@ -70,6 +70,10 @@ export class RtcSession { } } ProcessFrameInfo(frameInfo) { + if (UI.AutoQualityAdjustCheckBox.checked && + Number(UI.QualitySlider.value) != frameInfo.ImageQuality) { + UI.QualitySlider.value = String(frameInfo.ImageQuality); + } if (frameInfo.EndOfFrame) { var url = window.URL.createObjectURL(new Blob(this.PartialFrames)); var img = document.createElement("img"); diff --git a/Server/wwwroot/scripts/RemoteControl/RtcSession.js.map b/Server/wwwroot/scripts/RemoteControl/RtcSession.js.map index b0da2c45..5f06afb5 100644 --- a/Server/wwwroot/scripts/RemoteControl/RtcSession.js.map +++ b/Server/wwwroot/scripts/RemoteControl/RtcSession.js.map @@ -1 +1 @@ -{"version":3,"file":"RtcSession.js","sourceRoot":"","sources":["RtcSession.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"RtcSession.js","sourceRoot":"","sources":["RtcSession.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/Server/wwwroot/scripts/RemoteControl/RtcSession.ts b/Server/wwwroot/scripts/RemoteControl/RtcSession.ts index 74e37f39..f73057f7 100644 --- a/Server/wwwroot/scripts/RemoteControl/RtcSession.ts +++ b/Server/wwwroot/scripts/RemoteControl/RtcSession.ts @@ -76,6 +76,11 @@ export class RtcSession { } } ProcessFrameInfo(frameInfo: FrameInfo) { + if (UI.AutoQualityAdjustCheckBox.checked && + Number(UI.QualitySlider.value) != frameInfo.ImageQuality) { + UI.QualitySlider.value = String(frameInfo.ImageQuality); + } + if (frameInfo.EndOfFrame) { var url = window.URL.createObjectURL(new Blob(this.PartialFrames)); var img = document.createElement("img");