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

[Youtube] Provide the mpd manifest for youtube livestreams #15231

Closed
FDMX2 opened this issue Jan 12, 2018 · 0 comments
Closed

[Youtube] Provide the mpd manifest for youtube livestreams #15231

FDMX2 opened this issue Jan 12, 2018 · 0 comments
Labels

Comments

@FDMX2
Copy link

@FDMX2 FDMX2 commented Jan 12, 2018

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.01.07. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

  • I've verified and I assure that I'm running youtube-dl 2018.01.07

Before submitting an issue make sure you have:

  • At least skimmed through the README, most notably the FAQ and BUGS sections
  • Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

  • Bug report (encountered problems with youtube-dl)
  • Site support request (request for adding support for a new site)
  • Feature request (request for a new functionality)
  • Question
  • Other

Youtube serves livestreams as hls and mpd (MPEG-Dash). Thus far youtube-dl only supports hls livestreams.
I suggest youtube-dl should also provide the url for the mpd manifest since the youtube hls livestreams comes with less quality features (for example hls is capped to 30 fps).
In order to implement a the necessary mpd live downloader (like it exists for hls) first the mpd manifest url should be available to provide a way to get test streams.

A way to retrieve the mpd live manifest is shown here:
#15202

The live dash manifest URL is in the player config JSON.

youtube-dl --print-traffic https://youtu.be/<id> \
| grep -oP "/api/manifest/dash/.*? " \
| echo "https://manifest.googlevideo.com/$(cat -)"

https://manifest.googlevideo.com//api/manifest/dash/etc....

Or extract it yourself:

curl -sL "https://youtu.be/<id>" \
| grep -oP "ytplayer.config =\K.*?}(?=;)" \
| jq -r .args.dashmpd

https://manifest.googlevideo.com/api/manifest/dash/etc....

by @hmedia1

@dstftw dstftw closed this Jan 12, 2018
@dstftw dstftw added the duplicate label Jan 12, 2018
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
2 participants
You can’t perform that action at this time.