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

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.2.tar.gz (8.2 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.2-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: m3u8_getpack-0.0.2.tar.gz
  • Upload date:
  • Size: 8.2 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.2.tar.gz
Algorithm Hash digest
SHA256 fd0aef2299c677c4d534a2f06ed33ccd9ff62fc98ef16cf1e58807ecc25d5608
MD5 e4270103029a4209f681f69d89032f86
BLAKE2b-256 9aa87b31f9b95f189a0ab0a1959714365982e83fbdadc7896b12feb0a064a914

See more details on using hashes here.

Provenance

The following attestation bundles were made for m3u8_getpack-0.0.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: m3u8_getpack-0.0.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5288de1dbb8600f7f4ff03bf9503f5e44035ad21866d0f50d13a60a1b97c1985
MD5 e5cb176f5431a51aaaab245cd11d7c46
BLAKE2b-256 fba6c6d2d6f5650c92ecd8563072243c30536ee011f024495bb15c9875fb1208

See more details on using hashes here.

Provenance

The following attestation bundles were made for m3u8_getpack-0.0.2-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