Skip to main content

MediathekView Downloader

Project description

MediathekView Downloader

A command line tool to download videos from public broadcasting services in Germany. It's name is a reference to the MediathekView project, because they are doing the actual work to provide a database of available shows and download sources (this is just a small helper script). Unfortunately, their client requires Java and its not so easy to automate downloads. This tools aims to make it easier to download your favorite shows to your local or network storage using a cronjob.

Features

  • Commandline first interface.
  • Powerful filter system for lists and download selection.
  • Download .mp4, .flv and .m3u8 (HLS) media inclusive subtitles.
  • Keep track of downloaded files and don't download them again.
  • Template naming of the downloaded files.

Usage examples

Searching for shows

 mtv_dl list topic='extra 3' duration+20m age-1w
+----------+---------+------------------------+---------+------+---------------------------+----------+---------+--------+---------------------+
| hash     | channel | title                  | topic   | size | start                     | duration | age     | region | downloaded          |
+----------+---------+------------------------+---------+------+---------------------------+----------+---------+--------+---------------------+
| 49ea2aa7 | ARD     | Extra 3 vom 10.08.2017 | extra 3 | 646  | 2017-08-10T22:45:00+02:00 | 43m      | 14h 15m |        | None                |
+----------+---------+------------------------+---------+------+---------------------------+----------+---------+--------+---------------------+

Download all shows matching the filter

 mtv_dl download topic='extra 3' duration+20m age-1w

Download all shows matching any filter a text file

 cat shows.txt
channel=ARD topic='extra 3' title!=spezial duration+20m
channel=ZDF topic='Die Anstalt' duration+45m
channel=ZDF topic=heute-show duration+20m
 mtv_dl --dir=/media download --high --target='{dir}/{channel}/[{topic} {date}] {title}{ext}' --sets=shows.txt

Use a config file to apply useful defaults for all commands

This is my cronjob default.

 cat  ~/.mtv_dl.yml
high: true
dir: /media
target: '{dir}/{channel}/[{topic} {date}] {title}{ext}'
 crontab -l
0 *	* * * mtv_dl download --logfile=~/download.log --sets=~/shows.txt

Get show details in JSON format

 mtv_dl dump hash=49ea2aa7
[
    {
        "age": "17:15:00",
        "channel": "ARD",
        "description": "[...]",
        "duration": "0:43:00",
        "hash": "49ea2aa7",
        "new": false,
        "region": "",
        "size": 646,
        "start": "2017-08-10T22:45:00+02:00",
        "title": "Extra 3 vom 10.08.2017",
        "topic": "extra 3",
        "url_http": "[...]",
        "url_http_hd": "[...]",
        "url_http_small": "[...]",
        "url_subtitles": "",
        "website": "[...]"
    }
]

Installation

Requirements:

  • python3.10 or later
  • everything in pyproject.toml

The easiest way is to install using pip:

 python3 -m pip install mtv-dl

Docker

You can use docker to run the latest version.

 docker run -v ./my-data/:/data ghcr.io/fnep/mtv_dl

Development

This project uses uv for building, publishing and dependencies.

To get startet checkout the repository and

 uv run mtv_dl

Support

This project is free and open source (MIT licensed). It's not very actively maintained but also not neglected. It's just here in case it's useful for somebody.

Für "Issues": Ich komme aus Dresden und spreche auch Deutsch.

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

mtv_dl-0.27.3.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

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

mtv_dl-0.27.3-py3-none-any.whl (19.4 kB view details)

Uploaded Python 3

File details

Details for the file mtv_dl-0.27.3.tar.gz.

File metadata

  • Download URL: mtv_dl-0.27.3.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mtv_dl-0.27.3.tar.gz
Algorithm Hash digest
SHA256 c9b02b5296e71f44e66b11db91423b9e2642eb64fc7a5043b2c914a28137e243
MD5 a2beb20659d3971a9e19c0081d16e0c6
BLAKE2b-256 54ca6ff3a5b73f1ee09d13a38b021a4e69915c6d0050647a965718a4a97aa7a8

See more details on using hashes here.

File details

Details for the file mtv_dl-0.27.3-py3-none-any.whl.

File metadata

  • Download URL: mtv_dl-0.27.3-py3-none-any.whl
  • Upload date:
  • Size: 19.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for mtv_dl-0.27.3-py3-none-any.whl
Algorithm Hash digest
SHA256 897e7f873b9e2183fe17e8d8712fa69c4f31fc6c361740f27491e5fd79a409a1
MD5 909e5940045e7c7dd11420ccee50723b
BLAKE2b-256 f68c2b7dc509ed24d62264530422970d9a20fc9854feda41058b0fe84c63c4ce

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