https://github.com/oopsguy/m3u8
A mini M3U8 downloader written in Golang for downloading and merging TS(Transport Stream) files. 一个迷你 M3U8 视频下载工具。
https://github.com/oopsguy/m3u8
downloader go golang hls m3u8 ts
Last synced: 6 months ago
JSON representation
A mini M3U8 downloader written in Golang for downloading and merging TS(Transport Stream) files. 一个迷你 M3U8 视频下载工具。
- Host: GitHub
- URL: https://github.com/oopsguy/m3u8
- Owner: oopsguy
- License: mit
- Created: 2019-06-08T09:18:55.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-06-13T07:55:19.000Z (over 3 years ago)
- Last Synced: 2025-03-28T23:08:46.762Z (7 months ago)
- Topics: downloader, go, golang, hls, m3u8, ts
- Language: Go
- Homepage:
- Size: 4.82 MB
- Stars: 525
- Watchers: 9
- Forks: 141
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# M3U8
M3U8 - a mini M3U8 downloader written in Golang for downloading and merging TS(Transport Stream) files.
You only need to specify the flags(`u`, `o`, `c`) to run, downloader will automatically download all TS files and consolidate them into a single TS file.
[中文说明](README_zh-CN.md)
## Features
- Download and parse M3U8(VOD)
- Retry on download TS failure
- Parse Master playlist
- Decrypt TS
- Merge TS## Usage
### source
```bash
go run main.go -u=http://example.com/index.m3u8 -o=/data/example
```### binary:
Linux & MacOS
```
./m3u8 -u=http://example.com/index.m3u8 -o=/data/example
```Windows PowerShell
```
.\m3u8.exe -u="http://example.com/index.m3u8" -o="D:\data\example"
```## Download
[Binary packages](https://github.com/oopsguy/m3u8/releases)
## Screenshots

## References
- [TS科普 2 包头](https://blog.csdn.net/cabbage2008/article/details/49281729)
- [HTTP Live Streaming draft-pantos-http-live-streaming-23](https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-4.3.4.2)
- [MPEG transport stream - Wikipedia](https://en.wikipedia.org/wiki/MPEG_transport_stream)## License
[MIT License](./LICENSE)