Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mattetti/m3u8grabber
Experimental command line tool downloading the content of a m3u8 file containing TS video segments and converting them to mkv.
https://github.com/mattetti/m3u8grabber
Last synced: 3 months ago
JSON representation
Experimental command line tool downloading the content of a m3u8 file containing TS video segments and converting them to mkv.
- Host: GitHub
- URL: https://github.com/mattetti/m3u8grabber
- Owner: mattetti
- Created: 2013-06-09T15:00:16.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2023-04-12T21:26:58.000Z (almost 2 years ago)
- Last Synced: 2024-10-14T21:19:31.373Z (3 months ago)
- Language: Go
- Size: 2.83 MB
- Stars: 60
- Watchers: 5
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
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).