--hls-live-edge no longer appears to work for Youtube
See original GitHub issueBug Report
- This is a bug report and I have read the contribution guidelines.
Description
streamlink will no longer download any Youtube live broadcast from the beginning (segment 0 of playlist?) when using parameters “–hls-live-edge”, “–hls-start-offset” or “–hls-live-restart” and will only download from the current live position at time of execution.
Example Scenario:
Youtube Broadcast starts -> 5 mins elapsed -> Script detects channel is live, executes streamlink -> streamlink starts from 5 mins in, does not seek to beginning (0:00:00)
I have updated and tested with the latest builds for both Debian (streamlink 1.3.1+105.g2007b32) and Windows (streamlink 1.3.1) on 3 different hardware systems.
Expected / Actual behavior
Parameter “–hls-live-edge 99999” would always be sufficient to download any live stream from the beginning even for streams several hours in length. For over a year I have been downloading live streams this way with zero issues, saving the output to MPEG-TS and then transcoding with ffmpeg but recently in the last 1-2 days it no longer downloads streams from the beginning.
Reproduction steps / Explicit stream URLs to test
streamlink --hls-live-edge 99999 -o <OUTPUT_FILE_MPEG-TS> https://www.youtube.com/channel/<CHANNEL_ID>/live best
Any Youtube live broadcast with the DVR/seek back feature enabled can be used.
Log output
[cli][info] streamlink is running as root! Be careful!
[cli][debug] OS: Linux-4.9.0-3-amd64-x86_64-with-debian-9.4
[cli][debug] Python: 2.7.13
[cli][debug] Streamlink: 1.3.1+105.g2007b32
[cli][debug] Requests(2.21.0), Socks(1.6.7), Websocket(0.55.0)
[cli][info] Found matching plugin youtube for URL https://www.youtube.com/channel/UC-FVfPqpU3jUz6PANryzwYg/live
[plugin.youtube][debug] Video ID from currentVideoEndpoint
[plugin.youtube][debug] Using video ID: 1bgGKUMbOBA
[plugin.youtube][debug] get_video_info - 1: Found data
[plugin.youtube][debug] This video is live.
[utils.l10n][debug] Language code: en_GB
[cli][info] Available streams: 144p (worst), 238p, 358p, 478p, 718p (best)
[cli][info] Opening stream: 718p (hls)
[stream.hls][debug] Reloading playlist
[stream.hls][debug] First Sequence: 3883; Last Sequence: 3885
[stream.hls][debug] Start offset: 0; Duration: None; Start Sequence: 3883; End Sequence: None
[stream.hls][debug] Adding segment 3883 to queue
[cli][debug] Pre-buffering 8192 bytes
[stream.hls][debug] Adding segment 3884 to queue
[stream.hls][debug] Adding segment 3885 to queue
[stream.hls][debug] Download of segment 3883 complete
[cli][debug] Checking file output
[cli][debug] Writing stream to output
[stream.hls][debug] Download of segment 3884 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3886 to queue
[stream.hls][debug] Download of segment 3885 complete
[stream.hls][debug] Download of segment 3886 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3887 to queue
[stream.hls][debug] Download of segment 3887 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3888 to queue
[stream.hls][debug] Download of segment 3888 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3889 to queue
[stream.hls][debug] Download of segment 3889 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3890 to queue
[stream.hls][debug] Download of segment 3890 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3891 to queue
[stream.hls][debug] Download of segment 3891 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3892 to queue
[stream.hls][debug] Download of segment 3892 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3893 to queue
[stream.hls][debug] Download of segment 3893 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3894 to queue
[stream.hls][debug] Download of segment 3894 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3895 to queue
[stream.hls][debug] Download of segment 3895 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3896 to queue
[stream.hls][debug] Download of segment 3896 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3897 to queue
[stream.hls][debug] Download of segment 3897 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3898 to queue
[stream.hls][debug] Download of segment 3898 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3899 to queue
[stream.hls][debug] Download of segment 3899 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3900 to queue
[stream.hls][debug] Adding segment 3901 to queue
[stream.hls][debug] Download of segment 3900 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Download of segment 3901 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3902 to queue
[stream.hls][debug] Download of segment 3902 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3903 to queue
[stream.hls][debug] Adding segment 3904 to queue
[stream.hls][debug] Download of segment 3903 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3905 to queue
[stream.hls][debug] Download of segment 3904 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Download of segment 3905 complete
[stream.hls][debug] Adding segment 3906 to queue
[stream.hls][debug] Download of segment 3906 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3907 to queue
[stream.hls][debug] Download of segment 3907 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3908 to queue
[stream.hls][debug] Download of segment 3908 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3909 to queue
[stream.hls][debug] Download of segment 3909 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3910 to queue
[stream.hls][debug] Download of segment 3910 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3911 to queue
[stream.hls][debug] Download of segment 3911 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3912 to queue
[stream.hls][debug] Download of segment 3912 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3913 to queue
[stream.hls][debug] Download of segment 3913 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3914 to queue
[stream.hls][debug] Download of segment 3914 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3915 to queue
[stream.hls][debug] Download of segment 3915 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3916 to queue
[stream.hls][debug] Download of segment 3916 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3917 to queue
[stream.hls][debug] Download of segment 3917 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3918 to queue
[stream.hls][debug] Download of segment 3918 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3919 to queue
[stream.hls][debug] Download of segment 3919 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3920 to queue
[stream.hls][debug] Download of segment 3920 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3921 to queue
[stream.hls][debug] Download of segment 3921 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3922 to queue
[stream.hls][debug] Download of segment 3922 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3923 to queue
[stream.hls][debug] Download of segment 3923 complete
[stream.hls][debug] Reloading playlist
[stream.hls][debug] Adding segment 3924 to queue
[stream.hls][debug] Download of segment 3924 complete
[stream.segmented][debug] Closing worker thread
[stream.segmented][debug] Closing writer thread
[cli][info] Stream ended
Interrupted! Exiting...
[cli][info] Closing currently open stream...
Additional comments, screenshots, etc.
Love Streamlink? Please consider supporting our collective. Thanks!
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:10 (3 by maintainers)
Top GitHub Comments
@adrgru They were closed because it’s not something we’re supporting or planning to support right now. You can look at closed issues around DASH, we’ve had a ton of discussion about it in the past. Is it possible? Maybe. Is anyone working on it or trying to make it work again? Nope. We don’t support rewinding and I don’t think anyone plans to invest the time to support it either. Streamlink is for live streams that are currently occurring and we’re not going to invest time in making things like rewinding work. If you want to open a PR that supports it we’ll review it though.
Why were both posts on this issue closed (#2890, #2891)? YouTube is one of the most important streaming sites and this is a major fault in Streamlink that has arisen through a change in its system. @back-to mentioned that YouTube now appears to use DASH streams for the rewind function instead of HLS. @Wingzzzzz even said that there is not much that can be done about it. Is there anyone working on trying to make this work again, or is it really just impossible?