Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Twitch livestream quality gradually drops over time #395

Open
1 of 3 tasks
yamiM0NSTER opened this issue Feb 17, 2025 · 2 comments
Open
1 of 3 tasks

Twitch livestream quality gradually drops over time #395

yamiM0NSTER opened this issue Feb 17, 2025 · 2 comments
Labels

Comments

@yamiM0NSTER
Copy link

yamiM0NSTER commented Feb 17, 2025

What happened?

What happened:

So I was chilling watching LEC co-stream when I noticed stream looking worse but I paid no mind to it for a while because bitrate could have been overflown or something, however when quality dropped even further I started looking and found there are HttpProxy errors around the time quality would drop.

Steps:

  1. Open a stable 1080p livestream
  2. Manually select 284x160( yes qualities are reversed as pointed in: Video quality inside video player is reversed (Odysee). #191 )
  3. Wait for Proxy error to happen (should look like the one in log output part)
    ...
  4. Eventually arrive at 360p quality while player shows 284x160(1080p) is selected.

Expected behaviour:

To be honest best case if there is no need, quality shouldn't drop at all if there is enough buffer for the player to recover in time. If needed, player should try dropping quality until it manages to recover.

Grayjay Version

4

What plugins are you seeing the problem on?

Twitch

Plugin Version

21

Which operating system are you using?

Windows

When do you experience the issue?

  • While logged in
  • While logged out
  • N/A

Are you using a VPN?

No

Relevant log output

e HttpProxy:Failed to handle data.
System.ArgumentOutOfRangeException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. (Parameter 'count')
   at System.IO.MemoryStream.Write(Byte[] buffer, Int32 offset, Int32 count)
   at Grayjay.ClientServer.Proxy.HttpProxyStream.ReadLineAsync(CancellationToken cancellationToken)
   at Grayjay.ClientServer.Proxy.HttpProxyStream.TransferAllChunksAsync(HttpProxyStream outputStream, Boolean concatChunks, CancellationToken cancellationToken)
   at Grayjay.ClientServer.Proxy.HttpProxySession.RunAsync()
   at Grayjay.ClientServer.Proxy.HttpProxySession.<Start>b__7_0()
@Zvonimir-FUTO
Copy link
Collaborator

After how much time does the error occurs?

@yamiM0NSTER
Copy link
Author

It seems random, had some "runs" where it would not drop for minutes but also had it happen within seconds of starting the stream. Once or twice it even managed to proc one immediately after another resulting in image quality going to low immediately.

Here is how the extreme example saved in logs:

v DetailsController:Progress https://www.twitch.tv/paprycjuszek_ - 227484 - 211375 (PlaybackTracker: False)
e HttpProxy:Failed to handle data.
System.ArgumentOutOfRangeException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. (Parameter 'count')
   at Grayjay.ClientServer.Proxy.HttpProxyStream.ReadLineAsync(CancellationToken cancellationToken)
   at Grayjay.ClientServer.Proxy.HttpProxyStream.TransferAllChunksAsync(HttpProxyStream outputStream, Boolean concatChunks, CancellationToken cancellationToken)
   at Grayjay.ClientServer.Proxy.HttpProxySession.RunAsync()
   at Grayjay.ClientServer.Proxy.HttpProxySession.<Start>b__7_0()
i HttpProxy:Client accepted.
e HttpProxy:Failed to handle data.
System.ArgumentOutOfRangeException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection. (Parameter 'count')
   at Grayjay.ClientServer.Proxy.HttpProxyStream.ReadLineAsync(CancellationToken cancellationToken)
   at Grayjay.ClientServer.Proxy.HttpProxyStream.TransferAllChunksAsync(HttpProxyStream outputStream, Boolean concatChunks, CancellationToken cancellationToken)
   at Grayjay.ClientServer.Proxy.HttpProxySession.RunAsync()
   at Grayjay.ClientServer.Proxy.HttpProxySession.<Start>b__7_0()
v DetailsController:Progress https://www.twitch.tv/paprycjuszek_ - 228492 - 212383 (PlaybackTracker: False)
i HttpProxy:Client accepted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants