Skip to main content

Command line tool for downloading HLS streams with FFmpeg

Project description

ViihdexDL

A command line tool for downloading HLS streams with multiple audio and subtitle tracks (designed especially for Elisa Viihde recordings) using FFmpeg.

Requirements

Python 3 and libraries langcodes and Requests are required.

FFmpeg is needed to download streams.

Installation

Use pip to install ViihdexDL and its dependencies.

pip install -U viihdexdl

Usage

viihdexdl "URL" "FILENAME" [OPTIONS]

The URL must point to a HLS master playlist.

Options include:

-h, --help            show this help message and exit
-v, --verbose         print FFmpeg command
-c CONFIG FILE, --config CONFIG FILE
                      config file
-s, --subonly         download subtitles only
-e, --extsubs         download subtitles to external files
-m, --muxsubs         mux subtitles to video file
-a AUDIO LANGUAGES, --audio AUDIO LANGUAGES
                      audio languages, e.g. "fin, en"
-u SUBTITLES, --subtitles SUBTITLES
                      subtitle languages
-b, --begin           start live stream from the first segment
-l LIVE_START_INDEX, --live_start_index LIVE_START_INDEX
                      start live stream from segment
-mw MAX_WIDTH, --max_width MAX_WIDTH
                      maximum video width in pixels
-mh MAX_HEIGHT, --max_height MAX_HEIGHT
                      maximum video height in pixels
-mb MAX_BITRATE, --max_bitrate MAX_BITRATE
                      maximum video bitrate (bps)
-r VARIANT, --variant VARIANT
                      select variant
-y, --overwrite       overwrite output files without asking
-n, --never           never overwrite existing files

Settings

Download settings are defined in settings.ini which in Windows systems is located in %APPDATA%\viihdexdl. Preferred languages are set using two-letter ISO 639-1 or three-letter ISO 639-2 codes.

audio languages:      Languages of audio tracks to be downloaded.
                      If left empty, all available tracks are downloaded.
subtitle languages:   Languages of subtitle tracks to be downloaded.
                      If left empty, all available tracks are downloaded.
default audio:        Languages of the audio tracks for which 'default' flag can be set. Preferably
                      the track with the language listed first is flagged, but if no track of that
                      language is downloaded then the second listed is checked etc.
default subtitle:     Languages of the audio tracks for which 'default' flag can be set.
visual impaired:      Language of the audio track for which 'visual impaired' flag
                      is set (only works with .mkv files).
hearing impaired:     Language of the subtitle track for which 'hearing impaired' flag
                      is set (onlyworks with .mkv files).
maximum bandwidth:    The variant with the highest bitrate below this limit (bit/s) is downloaded.
                      If left empty or set to 0, the best variant is downloaded.
maximum width:        Maximum width (pixels) for video.
maximum height:       Maximum height (pixels) for video.
file extension:       File extension of the output file. Use mkv (preferred) or mp4.
external subtitles    Download subtitles to external files.
rfc 5646 to iso 639:  Convert RFC 5646 language (e.g. nl-NL) tags to ISO 639-1/2 language codes.
iso 639:              Type of language codes to use in metadata.
                      Use alpha_2 (nl), alpha_3 (nld) or alpha_3b (dut).
ffmpeg options:       FFmpeg global and input options.
ffmpeg video codec:   FFmpeg video codec options.
ffmpeg audio codec:   FFmpeg audio codec options.
overwrite:            Overwrite output files without asking.
never overwrite:      Never overwrite existing files.

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

viihdexdl-0.17.post1.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

viihdexdl-0.17.post1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file viihdexdl-0.17.post1.tar.gz.

File metadata

  • Download URL: viihdexdl-0.17.post1.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for viihdexdl-0.17.post1.tar.gz
Algorithm Hash digest
SHA256 80dfa29ee4a23f88333c1cbe953e8d11662aa9f94a563b75623d00108011138f
MD5 2ce29779ca34ae5c647912370ea21326
BLAKE2b-256 f3d0af66707250afc12b52b33c166f2fe09e0fd80591aa5db0389ade92fdadcc

See more details on using hashes here.

File details

Details for the file viihdexdl-0.17.post1-py3-none-any.whl.

File metadata

  • Download URL: viihdexdl-0.17.post1-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for viihdexdl-0.17.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 00ed31311719b9c205db6cc4b1eed91b21b24b5d3111ddcfc32f797b74d31a6a
MD5 91f9070d4a6d059fdfa4da0b7b774334
BLAKE2b-256 c252f436b983f2ec00777d9c77c3bb8328231ede8c62f51396c6bce6ae1300e8

See more details on using hashes here.

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