Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kevinrvaz/m3u8-dl
A CLI program to download a video played using a m3u8 playlist. Download it here - https://pypi.org/project/m3u8dl/0.5.2/
https://github.com/kevinrvaz/m3u8-dl
ffmpeg hls-downloader m3u m3u8 m3u8-dl m3u8-download m3u8-downloader m3u8-parser m3u8-videos m3u8dl m3u8dl-cli m3u8download mpeg2-ts python3 video-downloader
Last synced: 2 months ago
JSON representation
A CLI program to download a video played using a m3u8 playlist. Download it here - https://pypi.org/project/m3u8dl/0.5.2/
- Host: GitHub
- URL: https://github.com/kevinrvaz/m3u8-dl
- Owner: kevinrvaz
- License: mit
- Archived: true
- Created: 2019-12-13T17:56:29.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2021-11-03T17:40:01.000Z (over 3 years ago)
- Last Synced: 2024-09-29T05:56:19.708Z (4 months ago)
- Topics: ffmpeg, hls-downloader, m3u, m3u8, m3u8-dl, m3u8-download, m3u8-downloader, m3u8-parser, m3u8-videos, m3u8dl, m3u8dl-cli, m3u8download, mpeg2-ts, python3, video-downloader
- Language: Python
- Homepage:
- Size: 131 KB
- Stars: 72
- Watchers: 8
- Forks: 20
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# m3u8-dl
[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/)
[![PyPI version](https://badge.fury.io/py/m3u8dl.svg)](https://badge.fury.io/py/m3u8dl)
[![Docker](https://github.com/excalibur-kvrv/m3u8-dl/actions/workflows/docker-publish.yml/badge.svg)](https://github.com/excalibur-kvrv/m3u8-dl/actions/workflows/docker-publish.yml)
[![CodeQL](https://github.com/excalibur-kvrv/m3u8-dl/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/excalibur-kvrv/m3u8-dl/actions/workflows/codeql-analysis.yml)
[![Upload Python Package](https://github.com/excalibur-kvrv/m3u8-dl/actions/workflows/python-publish.yml/badge.svg)](https://github.com/excalibur-kvrv/m3u8-dl/actions/workflows/python-publish.yml)
[![Downloads](https://pepy.tech/badge/m3u8dl)](https://pepy.tech/project/m3u8dl)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 `.### 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 `.#### 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 sh`
- start the script using `python3 -m m3u8dl `.## 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 `### 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