feat: stream download cli
This commit is contained in:
44
README.md
Normal file
44
README.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# SDL - Stream Downloader CLI
|
||||
|
||||
`sdl` is a simple command-line tool written in Go for downloading HTTP Live Streaming (HLS) video streams.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
go install ./...
|
||||
```
|
||||
|
||||
This installs the `sdl` binary into your `GOBIN` (defaults to `~/go/bin`). Ensure this directory is on your `PATH`.
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
sdl https://example.com/path/to/playlist.m3u8
|
||||
```
|
||||
|
||||
The downloader automatically picks the highest-bandwidth variant when given a master playlist, downloads the segments, and transmuxes them into an `.mp4` container. You can override the output filename:
|
||||
|
||||
```bash
|
||||
sdl -o myvideo.mp4 https://example.com/path/to/playlist.m3u8
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
- Follows HTTP redirects (up to 5 hops)
|
||||
- Supports HLS master playlists (auto-select highest bandwidth variant)
|
||||
- Produces `.mp4` output via `ffmpeg`
|
||||
- Respects basic HTTP timeouts (30 seconds per request)
|
||||
|
||||
## Limitations
|
||||
|
||||
- Requires `ffmpeg` in `PATH` for transmuxing
|
||||
- No retry logic beyond standard HTTP redirects
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
go build ./...
|
||||
go test ./...
|
||||
```
|
||||
|
||||
Contributions and issue reports are welcome!
|
||||
Reference in New Issue
Block a user