About the Tool
Many streaming sites use HLS (HTTP Live Streaming), which delivers video as a series of small .ts segment files. Stream Spool downloads these segments and stitches them into a single file so you can watch the stream in real time in a video player — without the buffering and stutter that often happens when playing HLS directly.
When the download is complete, you can finalize the output to an MP4 file for permanent viewing. The script is resumable, so interrupted downloads pick up where they left off.
Key Features
- Real-time playback: Watch the stream as it downloads in your preferred video player.
- Resumable downloads: Interrupted? No problem. The script picks up where it left off.
- Finalize to MP4: Convert the stream to a standard MP4 when the download is complete.
- Zero dependencies: Uses only curl and ffmpeg, both available on any modern system.
- Single script: One Bash file, easy to audit and modify.
Getting Started
Install with a single command, then run streamspool and enter the stream URL when prompted:
# Install curl -sSL https://raw.githubusercontent.com/ryanhellyer/stream-spool/master/stream-spool.sh -o /tmp/stream-spool.sh && chmod +x /tmp/stream-spool.sh && bash /tmp/stream-spool.sh # Run streamspool
Finding Stream URLs
Most streaming sites serve HLS playlists. You can find them in your browser's developer tools:
- Chrome / Edge: F12 → Network tab → filter "m3u8" → play video → copy the request URL.
- Firefox: F12 → Network → filter "m3u8" → play video → right-click → Copy URL.