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

Support steam videos (was: Downloading videos from manually specified DASH manifests) #6012

Open
ChlorideCull opened this issue Jun 18, 2015 · 11 comments

Comments

@ChlorideCull
Copy link

@ChlorideCull ChlorideCull commented Jun 18, 2015

I would love if a function like this was exposed. I would be happy to implement it myself if I get some pointers for where to implement it. I would assume it would be something like splitting out _parse_dash_manifest from youtube.py and making it prettier/more compliant, and adding another extractor for raw manifests?

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented Jun 18, 2015

@ChlorideCull
Copy link
Author

@ChlorideCull ChlorideCull commented Jun 19, 2015

For general downloading of DASH video, where the process of getting the manifest is too complicated to automate, for example when you need to solve a captcha to access it. An example would be streaming video from Steam, where you need to be using the Steam client to access the manifest itself.

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented Jun 19, 2015

post an example url.
Note that if it's only for steam broadcasts, it may actually be better to just add an specific extractor.

@ChlorideCull
Copy link
Author

@ChlorideCull ChlorideCull commented Jun 19, 2015

I could work on adding the extractor then, I'm working on splitting out the _parse_dash_manifest from youtube.py and putting it in common.py, as well as making sure it can handle the spec.

As for example URLs, you have the Steam launch URL (steam://run/373020) and the Manifest retrieval API page which requires your User-Agent to be set as Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; Valve Steam Client/[10 CHARACTERS SPECIFYING VERSION]; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36, as well as being logged in to the store front.

As for the DASH manifest you get, it looks something like this (scrubbed for privacy, horrible formatting not mine).

@yan12125
Copy link
Collaborator

@yan12125 yan12125 commented Jun 20, 2015

It's an innovative idea, while I think implementing a new extractor is more meaningful and friendly than providing an interface for putting DASH manifests. As a result, I mark this ticket as a 'site-support-request' rather than a 'request'.

And FYI, the example DASH manifest above seems to use segments. There's a relevant work at #5886. I implement DASH segments downloading. However, it's for youtube, which does not conforms to the standard.

@yan12125 yan12125 changed the title Downloading videos from manually specified DASH manifests Support steam videos (was: Downloading videos from manually specified DASH manifests) Jun 20, 2015
@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented Jun 20, 2015

As with youtube the audio and video seem to be in two different streams, which makes it quite hard to implement it for live streams (we don't currently support downloading two files at the same time).

@ChlorideCull
Copy link
Author

@ChlorideCull ChlorideCull commented Jun 25, 2015

Frankly, I wasn't planning on implementing it for live streams, as I just want it to be able to ditch the stupid Steam player (which tends to break).

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented Jun 25, 2015

Could you post a url that is not a live stream?

@jaimeMF
Copy link
Collaborator

@jaimeMF jaimeMF commented Dec 8, 2015

@fijam that's tracked in other issue: #7740.

@mpenkov
Copy link

@mpenkov mpenkov commented Jul 31, 2018

@ChlorideCull Could you please post a URL that is not a live stream?

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

Successfully merging a pull request may close this issue.

None yet
5 participants
You can’t perform that action at this time.