cli: add support for stream manifest URL output#3300
Conversation
basically required
vs
might return the type of the manifest or use a different name, not the output seems weird sometimes |
These params are mutually exclusive...
And as said, it's only a problem if the plugin yields streams from different sources, but I don't see any way of fixing this in the regular Regarding the name, the problem is that In the JSON output, as opposed to being
The output hasn't been changed at all. |
6006bef to
1bcf529
Compare
|
Removed the Also changed the string representation of the HLSStream class to include the master playlist URL if it exists, and renamed the internal property and constructor parameter to The |
|
I'd think |
|
@beardypig My idea was to have "manifest" as a suffix, so that it fits into the scheme of the existing interface. I can change it though to your suggestion which makes more sense readability-wise. |
|
What's the decision here before I rebase? Rename it or not? |
|
@bastimeyer I'm not particularly passionate about either option, let's just rename it to |
This enables the output of the input-stream's manifest/master URL via `streamlink --stream-url URL` / `streamlink --json URL` in addition to the already supported output when selecting a stream via `streamlink --stream-url URL STREAM` / `streamlink --json URL STREAM` This is primarily helpful for HLS streams with a variant playlist.
1bcf529 to
7616a8e
Compare
Resolves #3098
This enables the output of the input-stream's manifest/master URL via
streamlink --stream-url URL/streamlink --json URLin addition to the already supported output when selecting a stream via
streamlink --stream-url URL STREAM/streamlink --json URL STREAMThis is primarily helpful for HLS streams with a variant playlist.
Things to note:
dict/OrderedDictgets used, which is usuallybestorbest-unfiltered.--stream-typescan still be used though for filtering out unwanted stream types.handle_urlandhandle_stream(output without and with stream/quality selection)streamlink_cli.main.handle_urlneeds to be refactored, because patchingstreamlink_cli.main.argsis awkward and lots of unrelated args need to be set. The entire main CLI module needs to be simplified and modularized.