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

plugins.youtube: rewind support / DASH streams #2936

Open
1 task done
GiovanH opened this issue Apr 25, 2020 · 20 comments
Open
1 task done

plugins.youtube: rewind support / DASH streams #2936

GiovanH opened this issue Apr 25, 2020 · 20 comments
Labels
feature request plugin enhancement A new feature for a working Plugin

Comments

@GiovanH
Copy link

GiovanH commented Apr 25, 2020

Feature Request

  • This is a feature request and I have read the contribution guidelines.

Description

Youtube and some other sites have replaced HLS rewinding with DASH, and so Streamlink can no longer download live streams from the beginning.

Expected / Actual behavior

Some youtube streams have "rewind" enabled, allowing users to rewind to the beginning of the stream and watch the full stream with history.

Formerly, Streamlink was able to interface this and download the complete stream using --hls-live-restart. Apparently, youtube no longer uses hls for this, and so the ability to interface with dash and recover previous segments is required to ensure continued functionality.

Additional comments, screenshots, etc.

See related issues:

#2572
#2890
#2891
#2935

And especially these comments:

#2891 (comment)
#2935 (comment)

@GiovanH GiovanH changed the title Rewind support for DASH Restore youtube rewind support (new DASH system) Apr 25, 2020
@gravyboat gravyboat added feature request plugin enhancement A new feature for a working Plugin enhancement and removed enhancement labels Apr 25, 2020
@gravyboat
Copy link
Member

gravyboat commented Apr 25, 2020

#2891 (comment) is by far the most important comment for anyone looking at this. We tried to get it working before but it created major problems so we gave up on it. If anyone wants to try again the notes linked in that comment are going to be the best starting place.

Edit: I am going to lock all other Youtube HLS rewind issues. DO NOT comment on this with any "this is broken for me", or "+1" or anything else useless like that which doesn't contribute to providing code that moves towards a solution. If I start seeing that in here as well I'm going to delete those comments as they don't contribute anything helpful and simply clutter the issue.

@beardypig
Copy link
Member

I think this will require some quite significant work on the way streams are downloaded to make it feasible. I started work on a redesign of that stuff and maybe it’s something we can look at for 2.0.0 - I will write up some design docs next week and create and issue to describe what I’m thinking.

@ghost

This comment has been minimized.

@rusty148

This comment has been minimized.

@bachoo786

This comment has been minimized.

@gravyboat

This comment has been minimized.

@bachoo786

This comment has been minimized.

@trueTrueman

This comment has been minimized.

@NyamSpectrum

This comment has been minimized.

@gravyboat

This comment has been minimized.

@gravyboat gravyboat mentioned this issue Oct 24, 2020
1 task
@bamtan

This comment has been minimized.

@bastimeyer

This comment has been minimized.

@CeruleanSky

This comment has been minimized.

@GiovanH

This comment has been minimized.

@jaw-sh

This comment has been minimized.

@tanocso
Copy link

tanocso commented Dec 14, 2021

https://github.com/Kethsar/ytarchive

@CeruleanSky
Copy link

The ytarchive utility has been rewritten in golang, but for those who understand python better and want to see it in that language working at the time of this comment despite some bugs, here is a link to the python version as it will be removed:
https://github.com/Kethsar/ytarchive/blob/v0.3.0/ytarchive.py

Unlike the previous suggestion put here, this does not rely on a web engine or opening a browser, and is actually open source, MIT no less, so it should be easy to adapt. I am already slapping together something for my private streamlink build.

Thanks for pointing it out!

@CeruleanSky
Copy link

CeruleanSky commented Dec 20, 2021

As this may help whoever implements this the proper way in streamlink, download a live stream from its start for DASH has been merged into yt-dlp:
[youtube] download live from the start, to the end #888

When the next yt-dlp version releases you can use yt-dlp --wait-for-video 120 --live-from-start to watch for and start downloading a livestream.

@mbalos16
Copy link

Is this work in progress to be implemented in streamlink? :)

@kasper93
Copy link
Contributor

kasper93 commented Mar 4, 2022

Since currently adaptive formats are not supported for live streams. If someone needs, here is an alternative https://github.com/jmf1988/ytdash It is mostly focused on live playback. Works well and in fact only tool that I found that supports live youtube dash playback currently.

Sorry for linking other project, but I think it may be useful for some and there is not much development on streamlink side to support adaptive playback.

@bastimeyer bastimeyer changed the title Restore youtube rewind support (new DASH system) plugins.youtube: rewind support / DASH streams Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request plugin enhancement A new feature for a working Plugin
Projects
None yet
Development

No branches or pull requests