Skip to main content

a cli program to download video at m3u8 url

Project description


m3u8downloader is a tool to download video at a m3u8 link. `HTTP Live
Streaming (HLS)<>`_ is becoming
popular. m3u8 playlist is used by HLS to serve video fragments of different
quality to different clients. This tool supports HLS master playlist and media
playlist. If master playlist is given, it selects the highest resolution
automatically. HLS fragment encryption is supported.

ffmpeg is used to convert the downloaded fragments into final mp4 video file.


To install m3u8downloader, simply:

.. code-block:: bash

$ sudo apt install -y ffmpeg
$ pip install --user m3u8downloader

Quick Start

Example command line usage:

.. code-block:: bash

downloadm3u8 -o ~/Downloads/foo.mp4

If ~/.local/bin is not in $PATH, you can use full path:

.. code-block:: bash

~/.local/bin/downloadm3u8 -o ~/Downloads/foo.mp4

Here is built-in command line help:

.. code-block:: bash

usage: m3u8downloader [-h] [--version] [--debug] --output OUTPUT
[--tempdir TEMPDIR] [--concurrency N]

download video at m3u8 url

positional arguments:
URL the m3u8 url

optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--debug enable debug log
--output OUTPUT, -o OUTPUT
output video filename, e.g. ~/Downloads/foo.mp4
--tempdir TEMPDIR temp dir, used to store .ts files before combing them
into mp4
--concurrency N, -c N
number of fragments to download at a time


This command line tool doesn't have extra documents.


This tool only parses minimum m3u8 extensions for selecting media playlist
from master playlist, downloading key and fragments from media playlist. If a
m3u8 file doesn't download correctly, it's probably some new extension was
added to the HLS spec which this tool isn't aware of.


* v0.7.3 2019-03-07

- initial release

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

m3u8downloader-0.7.3.tar.gz (7.4 kB view hashes)

Uploaded source

Built Distribution

m3u8downloader-0.7.3-py2.py3-none-any.whl (10.5 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page