laurencee / Livestream.Monitor

A windows GUI for livestreamer/streamlink
GNU General Public License v2.0
60 stars 8 forks source link

LM overrides Streamlink quality selection #33

Closed Tharn closed 6 years ago

Tharn commented 6 years ago

Noticed that when loading a VOD, it will automatically append "best" behind the VOD url, regardless of whether or not there's a "DefaultStreamQuality" set in settings.json.

This behaviour overrides the "default-stream" setting in streamlinkrc, and I can't figure out how to remove or customize it.

Even for live streams, it would be nice if there was a "Default" or blank setting that yielded the option to streamlink.

laurencee commented 6 years ago

Yeah that makes sense. I wanted to have a quality selection option on the vod page as well but it's pretty limited on space.

At the very least passing through whatever your saved stream quality selection was would be better than the current situation.

Tharn commented 6 years ago

Also it seems that the new stream qualities like 720p60 and 1080p60 don't always work correctly. It's possible to input these into the LM field, and they do work when Twitch feels like accepting them. Something between Twitch and Streamlink to handle, but it seems that Twitch likes to invent new modes fairly often. So there would be some incentive to turn the old-style dropdown menu in LM into a custom field under settings that accepts a list of ranked favourites like streamlinkrc does it. Of course in that case LM wouldn't have to yield to Streamlink at all.

Anyway, food for thought.

laurencee commented 6 years ago

So there would be some incentive to turn the old-style dropdown menu in LM into a custom field accepting a list of ranked favourites like streamlinkrc does it.

That's a great idea!

If the quality selection options was turned into a list of favorites it'll be easy to intersect the options to find the first match and just fallback to "Best" if none was found while leaving a note in the log window that no match was found from favorites.

Edit: streamlink already does this if I just passed through a comma separated list of qualities in preference order. I presume that's what you were referring to by "list of ranked favourites".


Back on the vod stuff, taking a look into the vod launching calls (for twitch) it appears the vods have their own resolution options independent of the stream (at least in terms of text to pass through to streamlink). That info is exposed from the API so I can check if the default quality option isn't in the list of available options that I can fall back to "Best" like I have now.

Tharn commented 6 years ago

Yes, that's what I meant. Something that mirrors the streamlink "default-stream" option, and since Twitch for one keeps changing the options a text input field would be future-proof. Add the "best" quality setting as an automatic last fallback if the user types in gibberish. He also sees the available qualities listed in the console output.

The input could be saved on a per-source basis. One for Twitch, one for Smashcast and so on. With a high quality fallback I don't think this would hurt anyone.

laurencee commented 6 years ago

Testing this out for myself, will probably merge it in tomorrow.

Couldn't find a real nice way to integrate it so for now it displays in its own window.

image

laurencee commented 6 years ago

Let me know if you have any issues with the new release: https://github.com/laurencee/Livestream.Monitor/releases/tag/2.11.0

There's a minor issue in that you don't get a warning if you attempt to close the window without saving.