moonlight-stream / moonlight-chrome

GameStream client for ChromeOS
GNU General Public License v3.0
749 stars 167 forks source link

Black screen with audio when bitrate set higher than currently available upload speed. #275

Closed bidaumm closed 7 years ago

bidaumm commented 7 years ago

Attempting to run over an internet connection with an average of 5mbps upload speed.

at 5mbps when connecting get a black screen but audio comes through

at 3.5mbps occasionally get a video connection audio comes through

at 2.5mbps get video and audio.

cgutman commented 7 years ago

What would you suggest we do instead? Display an error?

You simply can't pass 5 Mbps of data through a 2.5 Mbps pipe and get all (or even most of of it) on the other side.

bidaumm commented 7 years ago

Yeah, that would be nice.

I only worked out that the audio would come through but not the video today.

If I had an error message to tell me I'm attempting to connect at a speed higher than my connection is able to would have made my life a lot easier!

A useful feature to add onto this would be a connection speed test as well if that was at all possible! That along with the finetuning of the bitrate I talked about in https://github.com/moonlight-stream/moonlight-chrome/issues/274 would make life a lot easier for getting the best connection speed!

hiuwo commented 7 years ago

Suggestion 1: do not default the app to stream at 10mbps, instead default at lowest. Suggestion 2: add "bandwidth suggestion" as possible solution to troubleshooting guide. Suggestion 3: do what other streaming services do, show actual bandwidth used when a connection is established/ when frames are dropping. So users can sense how low they should go for to successfully get an image/ audio.

cgutman commented 7 years ago

1: Lowest (1 Mbps) has horrible image quality for any resolution and FPS, so I don't think it should be default. 2: It's already there on the "Video is choppy or laggy section" - https://github.com/moonlight-stream/moonlight-docs/wiki/Troubleshooting#video-is-choppy-or-laggy

  1. Bandwidth usage when frame drops isn't really a good indicator of network performance. Typically the bandwidth at that time is going to be significantly lower (because frames are being dropped by the network) or significantly higher (during recovery phase when the key frame is transmitted). While writing bandwidth usage on screen would be cool, I don't think it helps in this particular case either even if it was there all the time. My workflow for dialing in the right bandwidth is: estimate, set a bitrate, stream a little bit, if it's choppy, try again. I don't see how having the bandwidth graph would really change that at all. Moonlight generally always hits the target bitrate when there's any non-trivial motion on screen (because NVENC doesn't compress well when operating in such low-latency mode as GameStream requires).
hiuwo commented 7 years ago

Sorry for not noticing it at the other part of troubleshooting. My personal suggestions above solely stemmed from the fact that is bandwidth causes OP to experience not choppy or laggy frames, but no video at all, as if server was overloading. The fitting section on the page is "No video displayed on device" in this case. (of course if indeed the issue is verified)

Therefore, maybe at least consider putting bandwidth suggestion there as well?