SkillAgentSearch skills...

M3u8Grabber

Experimental command line tool downloading the content of a m3u8 file containing TS video segments and converting them to mkv.

Install / Use

/learn @mattetti/M3u8Grabber
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

m3u8Grabber

This command line tool is designed to download a MPEG video Transport Stream defined in a m3u8 file into an mp4 file. Full hls protocol isn't implemented.

Requirements

OS: unix, windows

Go: https://golang.org

Libraries: ffmpeg needs to be installed and available (for conversion).

Usage

$ go build . $ m3u8Grabber --m3u8="http://someCompatibleM3U8.url" --output="coolStuff"

The grabber can also be run as a server and receives downloads via HTTP requests (undocumented).

Status

This was developed for very specific use cases and isn't well tested outside of those sources. AES encrypted playlists with sequential IVs and a global key are supported.

Using this tool to download playlists is much faster for my use case than using ffmpeg directly (10x speed difference on a 200MB file). This is probably due to the fact that this code uses goroutines to process segments in parallel and does way less than ffmpeg in general.

Using ffmpeg to convert ts to mp4 is a bit sad and this dependency could be dropped in the future (PRs welcome).

Related Skills

View on GitHub
GitHub Stars71
CategoryContent
Updated9d ago
Forks6

Languages

Go

Security Score

80/100

Audited on Mar 21, 2026

No findings