Skip to main content

m3u8 playlist downloader

Project description

m3u8-dl

MIT license PyPI version Docker CodeQL Upload Python Package Downloads

A CLI program to download a video played using a m3u8 playlist. Read about m3u8 here https://en.wikipedia.org/wiki/M3U#M3U8

Dependencies

Usage

Setup without Docker

  • clone the repository using git clone "ssh/https url".
  • create a virtual environment using virtualenv -p python3.6 venv in linux terminal, see 'Dependencies' for platform specific instructions.
  • activate virtual environment using source venv/bin/activate in linux terminal, see 'Dependencies' for platform specific instructions.
  • install dependencies using pip install -r requirements.txt.
  • insert the url request headers in headers.txt.
  • start the script using python -m m3u8dl <url of playlist>.

Setup with Docker

Re-build docker image

  • build docker image using docker build -t m3u8dl-img .
  • start container docker run -d -it --name m3u8dl-app m3u8dl-img
  • attach to container via terminal docker exec -it m3u8dl-app bash
  • start the script using python3 -m m3u8dl <url of playlist>.

Pull exisiting docker image from github packages or docker hub

  • pull from docker hub using docker pull excaliburkrv/m3u8-dl
  • if not pulled from docker hub you can pull from github packages using docker pull ghcr.io/excalibur-kvrv/m3u8-dl:master
  • then start the container in detached mode using docker run -d -it --name m3u8dl-app excaliburkrv/m3u8-dl if pulled from docker hub
  • attach to container via terminal docker exec -it m3u8dl-app bash
  • start the script using python3 -m m3u8dl <url of playlist>.

Installing/Uninstalling Globally

Installation and usage using pip:-

  • ensure ffmpeg is installed see dependecies section
  • visit PyPI https://pypi.org/project/m3u8dl/0.5.2/ or install using below commands.
  • run pip install m3u8dl
  • run the program now using m3u8-dl <url-of-playlist>

Uninstalling using pip:-

  • run pip uninstall m3u8dl

Installation in ubuntu using PyInstaller:-

  • install pyinstaller using pip install PyInstaller
  • activate virtualenv using source venv/bin/activate
  • run pyinstaller main.py --name m3u8-dl --onefile -p venv/lib/python3.6/site-packages/ in terminal.
  • run sudo mv dist/m3u8-dl /usr/local/bin/ in terminal window.
  • now that the program is installed globally you can start the program using m3u8-dl in the terminal

Uninstalling in ubuntu:-

  • run sudo rm /usr/local/bin/m3u8-dl

CLI Options

--help, -h:- display how to use the script
--convert, -c:- specify this flag to convert the video to mp4 using ffmpeg`
--name, -n:- specify the name by which to save the downloaded video, else 'video' is chosen as default name`
--header-path, -p:- specify the path of header file`
--retry, -r:- specify number of retries, by default 5 retries will be initiated
--debug, -d:- print helpful messages to console to understand program flow
--processes, -m:- specify custom number of processes, default is 4
--threads, -t:- specify custom number of threads, default is 4 per process

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

m3u8dl-0.5.2.tar.gz (15.5 kB view hashes)

Uploaded Source

Built Distribution

m3u8dl-0.5.2-py3-none-any.whl (18.4 kB view hashes)

Uploaded Python 3

Supported by

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