]> jfr.im git - yt-dlp.git/commit - yt_dlp/extractor/youtube.py
[dash,youtube] Download live from start to end (#888)
authorThe Hatsune Daishi <redacted>
Mon, 20 Dec 2021 06:06:46 +0000 (15:06 +0900)
committerGitHub <redacted>
Mon, 20 Dec 2021 06:06:46 +0000 (11:36 +0530)
commitadbc4ec4bbfbe57842049cf9194384480f534859
treebb51014a17737fc2c07f14f47308fc9ab74c482e
parentc031b0414c2f2523bdf49e2085469679921f846c
[dash,youtube] Download live from start to end (#888)

* Add option `--live-from-start` to enable downloading live videos from start
* Add key `is_from_start` in formats to identify formats (of live videos) that downloads from start
* [dash] Create protocol `http_dash_segments_generator` that allows a function to be passed instead of fragments
* [fragment] Allow multiple live dash formats to download simultaneously
* [youtube] Implement fragment re-fetching for the live dash formats
* [youtube] Re-extract dash manifest every 5 hours (manifest expires in 6hrs)
* [postprocessor/ffmpeg] Add `FFmpegFixupDuplicateMoovPP` to fixup duplicated moov atoms

Known issue: Ctrl+C doesn't work on Windows when downloading multiple formats

Closes #1521
Authored by: nao20010128nao, pukkandan
15 files changed:
README.md
yt_dlp/YoutubeDL.py
yt_dlp/__init__.py
yt_dlp/downloader/__init__.py
yt_dlp/downloader/dash.py
yt_dlp/downloader/f4m.py
yt_dlp/downloader/fragment.py
yt_dlp/extractor/common.py
yt_dlp/extractor/youtube.py
yt_dlp/minicurses.py
yt_dlp/options.py
yt_dlp/postprocessor/__init__.py
yt_dlp/postprocessor/common.py
yt_dlp/postprocessor/ffmpeg.py
yt_dlp/utils.py