m3u8-getpack
m3u8-getpack (also m3gp) is a fast command-line tool and Python library.
It gets video segments (.ts files) from .m3u8 playlists and packs them into a single .mp4 video file.
Perfect for handling HLS (HTTP Live Streaming) content, m3u8-getpack provides both a streamlined CLI for easy use and a modular API for integration into your own projects.
✨ Features
⚡ Fast and simple CLI for quick use directly from the terminal.
🧩 Modular Python API for seamless integration into your own scripts and tools.
🚀 Multithreaded downloading for high-speed performance.
🎞️ Uses ffmpeg-python as a backend for accurate video merging.
📡 Designed to handle HLS (HTTP Live Streaming) content efficiently.
📌 Currently supports only static HLS playlists — direct .m3u8 files .containing segment .ts links (not master playlists or nested CDN manifests).
📦 Installation
⚙️ Requirements
Make sure python3 and pip are installed:
python3 --version
pip --version
If needed:
sudo apt install python3
sudo apt install python3-pip
✅ Install via pip from PyPI (Recommended-CLI)
pip install m3u8-getpack
🛠️ Install via GitHub (dev mode)
For development or direct usage from source:
git clone https://github.com/yourusername/m3u8-getpack.git
cd m3u8-getpack
pip install -e .
Running
✅ Recommended-CLI
m3u8-getpack -i video.m3u8 -o myvideo.mp4
# Or alternatively:
m3gp -i video.m3u8 -o myvideo.mp4
mgp -i video.m3u8 -o myvideo.mp4
🛠️ Run the package directly from source (without installation, live changes reflected):
python3 -m m3u3-getpack -i video.m3u8 -o myvideo.mp4
Metadata
Release files for m3u8-getpack 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| m3u8_getpack-0.0.3.tar.gz | 8.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| m3u8_getpack-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.6 kB
Release files / m3u8_getpack-0.0.3.tar.gz
| Download URL | m3u8_getpack-0.0.3.tar.gz |
|---|---|
| Size | 8.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c63390470817dca195f8f87a4c0e0c6858f07f4ca45b8befc8b7d39df2d0872f
|
|
BLAKE2b-256 checksum How to use checksums |
73516f9e86b70cf81116a4f73e4d1810edcb34c29152cad80fde8e3b193d5260
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 28, 2025.
Transparency logRelease files / m3u8_getpack-0.0.3-py3-none-any.whl
| Download URL | m3u8_getpack-0.0.3-py3-none-any.whl |
|---|---|
| Size | 9.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb9b3f533da05aa846026cd1c50c2b8b9697d26f3e4e0a549f931906f6d7b923
|
|
BLAKE2b-256 checksum How to use checksums |
2ba29ead97756e428d83c91999a673073d5eef222c48f6388f5bf325bdc505e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 28, 2025.
Transparency log