Skip to main content

A command-line tool for downloading and merging m3u8 .ts video segments into a single MP4 file.

Project description

m3u8-getpack

m3u8-getpack MIT License Linux FFMPEG Support Python

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 (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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

m3u8_getpack-0.0.1.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

m3u8_getpack-0.0.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file m3u8_getpack-0.0.1.tar.gz.

File metadata

  • Download URL: m3u8_getpack-0.0.1.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for m3u8_getpack-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9d388c4463cfd9bcc63ef5f79f4bcd69b5d69e0f80af100c641a41546eb0917b
MD5 f5a608bdfac78a61943872619b1885cb
BLAKE2b-256 b3041f56fb11644b516f30fc3205f9f6f4bf83d13681755c238def93e1c1be46

See more details on using hashes here.

Provenance

The following attestation bundles were made for m3u8_getpack-0.0.1.tar.gz:

Publisher: python-publish.yml on fabiocastrodias/m3u8-getpack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file m3u8_getpack-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: m3u8_getpack-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for m3u8_getpack-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 31f5ef9fad5d9aeafc638ffbb69911d039737fdd2ec054de5368fcb4bb4a55c4
MD5 8a3b9b5c44b3c1f52aec5edd665c1935
BLAKE2b-256 c24ea3ff4f0bd55ca354b4e830ac76065e635e381abced6ec5fa4b1445e32696

See more details on using hashes here.

Provenance

The following attestation bundles were made for m3u8_getpack-0.0.1-py3-none-any.whl:

Publisher: python-publish.yml on fabiocastrodias/m3u8-getpack

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page