Files
sdl/README.md

1.1 KiB

SDL - Stream Downloader CLI

sdl is a simple command-line tool written in Go for downloading HTTP Live Streaming (HLS) video streams.

Installation

go install ./...

This installs the sdl binary into your GOBIN (defaults to ~/go/bin). Ensure this directory is on your PATH.

Usage

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:

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

go build ./...
go test ./...

Contributions and issue reports are welcome!