-
-
Notifications
You must be signed in to change notification settings - Fork 9.8k
[youtube] Support --download-sections with formats --live-from-start #6498
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
base: master
Are you sure you want to change the base?
Conversation
A range like '*(now-1hour)-(now-30minutes)' doesn't work
The approach looks good. There are a few part that I don't understand, but I'll do a full review when this is undrafted
We had the plan to support negative values as timestamp from end of stream. So, this would be |
Authored by: D0LLYNH0
Authored by: C0D3D3V
Bug in 8c53322 Closes yt-dlp#6490
and related cleanup Thanks @AudricV for the finding
Closes yt-dlp#6494 Authored by: elyse0
Authored by: makeworld-the-better-one Closes yt-dlp#6395
Authored by: C0D3D3V
Authored by: vampirefrog
…p#6254) Authored by: Lesmiscore, pukkandan
Building fragment list for all formats take significant time for large videos
This reverts commit 1799a6a.
@bashonly @pukkandan Any progress in getting this PR merged? |
I'd love to help trial this if needed as I'm curious what's holding this PR. Are there any specific instructions for installing this version? Happy to compile from fork repo if not. |
if you want to use an executable, you can just run |
Testing with a random news livestream, was able to get a 59m 50s livestream rather than the rounded 1h. Below is the command I ran: ./yt-dlp \
--live-from-start \
--verbose \
"https://www.youtube.com/watch?v=8WX6YL9JnLw" \
--cookies ./cookies.txt \
--concurrent-fragments 8 \
--download-sections "#-1h - 0" Note that this isn't a dealbreaker for me, as a workaround to this is to convert the time to seconds then tack on an extra 10s, for 1h before the livestream started: Here's a simple and verbose log file: |
Any news on this? |
I'm getting the following response when I try to "gh pr checkout 6498" on the latest yt-dlp:
I'm good with understanding the patch command, but I've never understood the Github system since it always seemed backwards to me (the nomenclature is incomprehensible to me). Can someone explain how to merge this to the latest version? There's a lot of code fixes and updates in the latest version that I want to preserve. |
Please merge this in soon, its a very useful change. |
I'm not a maintainer here, but I've talked to them as well as done a little bit of work looking into it. This PR will not be merged in it's current form for good reasons, including that the authors are no longer involved, that this change makes brittle changes to the core of yt-dlp, and it only benefits YouTube streams but might break many other sites. I am extremely grateful that the maintainers here regularly update this branch with fixes from master and produce an updated build which continues to work. Using this branch is very easy thanks to that hard work. For linux:
Personally, I'd like to find some time to do the work to get this into mergable shape, but time is short for everyone. If anyone wants to contribute, the maintainers here are friendly and welcoming. Any help for this feature will require significant effort and real technical skills, though. If it was easy, it would already have been done. (P.S. @Ulmo this thread isn't the right place to ask Git questions, but there are friendly tutorials available if you want to learn) Mainly, I'd ask anybody who comes by here to not add pressure or demands because I'd prefer the maintainers to keep updating this branch and build. If it becomes a hassle it is more likely that they'll just close this PR and the available build will not work. |
IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information
Like #5822, this PR adds support for downloading a specific section of a YT livestream format with --live-from-start, but with a different approach.
The Dash parser now extracts the
start
andend
timestamps of each fragment and the fragment_generator code uses them to filter based on the selected range. A big advantage over #5822 is that these changes could allow support for --download-sections on any Dash livestream, if/when that downloader is implemented.Section selector
The current approach for specifying a range is using a new # syntax and negative durations, where these durations are relative to "now".
Fixes #3451
Template
Before submitting a pull request make sure you have:
In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:
What is the purpose of your pull request?