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.3.tar.gz (8.4 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.3-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: m3u8_getpack-0.0.3.tar.gz
  • Upload date:
  • Size: 8.4 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.3.tar.gz
Algorithm Hash digest
SHA256 c63390470817dca195f8f87a4c0e0c6858f07f4ca45b8befc8b7d39df2d0872f
MD5 161181e7e6f814ca6187e10fcd0d9c30
BLAKE2b-256 73516f9e86b70cf81116a4f73e4d1810edcb34c29152cad80fde8e3b193d5260

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: m3u8_getpack-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 9.2 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cb9b3f533da05aa846026cd1c50c2b8b9697d26f3e4e0a549f931906f6d7b923
MD5 f9d11d3d416720ebc9c2c534991c8f77
BLAKE2b-256 2ba29ead97756e428d83c91999a673073d5eef222c48f6388f5bf325bdc505e3

See more details on using hashes here.

Provenance

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