-
-
Notifications
You must be signed in to change notification settings - Fork 517
Add support for different types of stream delivery by a service #358
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
Add support for different types of stream delivery by a service #358
Conversation
Some videos, especially those that have low views, don't have the usual direct links to all streams, this fix it by properly parsing the DASH manifest from those special cases.
Rely on the DASH manifest streams instead.
opusforlife2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a review, just curiosity.
| this(null, deliveryFormat, format, resolution, false); | ||
| } | ||
|
|
||
| public VideoStream(String url, String torrentUrl, MediaFormat format, String resolution) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You've replaced 4 VideoStreams by 3. Why doesn't this one have a replacement?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, what is the OTF delivery format? Can't find any information online whatsoever.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You've replaced 4 VideoStreams by 3. Why doesn't this one have a replacement?
It was used only in one place I think, so I just removed it. It doesn't make a difference anyway.
Also, what is the OTF delivery format? Can't find any information online whatsoever.
Yeah, I don't know exactly, didn't dig too much on it, but it seems to be some sort of in-house playback solution by YouTube, it works pretty much like DASH.
| final List<AudioStream> audioStreams = | ||
| new ArrayList<>(streamInfo.getAudioStreams()); | ||
|
|
||
| final DashMpdParser.Result result = DashMpdParser.getStreams(streamInfo); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about we call it YoutubeDashMpdParser and move this code to YoutubeStreamExtractor? Let the service extractors do dash manifest parsing if required.
Or should we have a generic parser that can handle all services like youtube-dl does?
|
A few questions.
|
|
First of all: I still haven't looked at your implementation. My idea was to do the following:
This all obviously doesn't need to be done in a single PR. |
| /** | ||
| * A class that is used to represent the way that a streaming service deliver their streams. | ||
| */ | ||
| public abstract class DeliveryFormat implements Serializable { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make this class an interface and add a getUrl method? This will save us some casts.
|
@mauriciocolli Any plans to continue work on this? |
|
@clarfon: Also see my #367. I'll do the NewPipe part of it soon (hopefully for v0.20.1). |
|
Closing in favour of #663 |
|
for the records:- |
|
Why would you necro such an old PR, @ShareASmile!? The PR linked by Stypox is further linked to the merged one. |
I was working in an extractor for Twitch, and this was needed as it only offer HLS streams.
This also fixes some issues that some YouTube videos were having, as they only had DASH streams. We should be able to fix SoundCloud as well now, I'll leave it for later.
Closes #273