m3u8 playlist downloader
Project description
m3u8-dl
A CLI program to download a video played using a m3u8 playlist. Read about m3u8 here https://en.wikipedia.org/wiki/M3U#M3U8
Dependencies
- Install python external modules using
pip install -r requirements.txt
after activating virtualenv. - FFMPEG for video conversion, visit https://www.ffmpeg.org/download.html.
- Visit https://www.wikihow.com/Install-FFmpeg-on-Windows for FFMPEG setup on windows.
- Visit https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/#creating-a-virtual-environment for instructions on how to use virtualenv.
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
Release history Release notifications | RSS feed
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 details)
Built Distribution
m3u8dl-0.5.2-py3-none-any.whl
(18.4 kB
view details)
File details
Details for the file m3u8dl-0.5.2.tar.gz
.
File metadata
- Download URL: m3u8dl-0.5.2.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f57f0927454fdbe89076a0f6843c7cef4bfffd830168fd21f5efa2ba9969f94 |
|
MD5 | 14fd3c90e4ebd6bc9cb9905398f05ba1 |
|
BLAKE2b-256 | 876a2825ae6a085078f8eb5391c1da940589b72b5a56855bdccc28ce29f4c00d |
File details
Details for the file m3u8dl-0.5.2-py3-none-any.whl
.
File metadata
- Download URL: m3u8dl-0.5.2-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7bb4e7681847e4f182974a30c61e7d837e1f21c815a36a43942cbe2fe0f3bf5 |
|
MD5 | 3743db93c8ad19da505a34fedd028a85 |
|
BLAKE2b-256 | 2b5d797189046fcac011518f2214a929b6918be580a96405baf566809a0aec58 |