https://github.com/coletdjnz/yt-dlp-ytse
Experimental YouTube streaming features for yt-dlp
https://github.com/coletdjnz/yt-dlp-ytse
yt-dlp-plugins
Last synced: 2 months ago
JSON representation
Experimental YouTube streaming features for yt-dlp
- Host: GitHub
- URL: https://github.com/coletdjnz/yt-dlp-ytse
- Owner: coletdjnz
- License: mit
- Created: 2024-10-25T02:17:04.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-04-05T21:44:35.000Z (3 months ago)
- Last Synced: 2025-04-13T21:14:04.023Z (2 months ago)
- Topics: yt-dlp-plugins
- Language: Python
- Homepage:
- Size: 123 KB
- Stars: 19
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# YouTube Streaming Experiments (YTSE)
Experimental YouTube streaming features for yt-dlp.
> [!CAUTION]
> These features are experimental. They may change without notice.* [YouTube Streaming Experiments (YTSE)](#youtube-streaming-experiments-ytse)
* [Features](#features)
* [Installing](#installing)
* [pip/pipx](#pippipx)
* [Usage](#usage)
* [UMP Downloader](#ump-downloader)
* [SABR Downloader](#sabr-downloader)
* [Acknowledgements](#acknowledgements)## Features
- [UMP Downloader](#ump-downloader)
- [SABR Downloader](#sabr-downloader)## Installing
**Requires yt-dlp `2025.01.26` or above.**
If yt-dlp is installed through `pip` or `pipx`, you can install the plugin with the following:
### pip/pipx
```
pipx inject yt-dlp yt-dlp-ytse
```
or```
python3 -m pip install -U yt-dlp-ytse
```If installed correctly, you should see the YTSE YouTubeIE plugin override in `yt-dlp -v` output:
[debug] Extractor Plugins: YTSE (YoutubeIE)
## Usage
### UMP Downloader
Enable UMP formats:
`--extractor-args youtube:formats=ump`
Prioritize UMP formats:
`-S proto:ump`
Debug UMP messages:
`--extractor-args "youtube:ump_debug=1;formats=ump"`
### SABR Downloader
Enable SABR formats:
`--extractor-args youtube:formats=sabr`
Debug SABR messages:
`--extractor-args "youtube:sabr_debug=1;formats=sabr"`
Supports:
- Standard video downloading
- Note: SABR does not natively support downloading only video stream, so an audio stream is always downloaded (but discarded)
- Livestreams (including `--live-from-start`)Not supported:
- `--download-sections`
- `--concurrent-fragments/-N`
- Resume downloadsSee also:
- [mitmproxy SABR parser script](utils/mitmproxy_sabrdump.py)
- [Read SABR Request Python script](utils/read_sabr_request.py)
- [Read SABR Response Python script](utils/read_sabr_response.py)## Acknowledgements
- [googlevideo](https://github.com/LuanRT/googlevideo) by [@LuanRT](https://github.com/LuanRT)
- [innertube](https://github.com/davidzeng0/innertube) by [@davidzeng0](https://github.com/davidzeng0)
- [googleapi_tools](https://github.com/ddd/googleapi_tools) by [@ddd (brutecat)](https://github.com/ddd)