Skip to main content

Enjoy the ČRo offline

Project description

🇬🇧 English Summary

🐍 CRo-DL (Czech Radio Downloader)

Listen to MůjRozhlas.cz programs offline.

Overview

CRo-DL is a Python-based 🐍 tool that allows Czech Radio license payers to download and store radio programs locally for offline listening. It supports individual broadcasts, full series, and entire program schedules. Series are saved with episode numbers and user-friendly titles.

⚠️ Respect copyright laws—downloaded content is for personal use only and should not be shared.

Dependencies

  • Python 3.10+ is required.
  • Czech Radio mainly uses MP3 and HLS/DASH streams (AAC/M4A).
  • FFmpeg is required for handling DASH streams (optional).

Installation

CRo-DL can be installed via:

📦 PyPI

pip install cro-dl

🚀 uv (alternative method)

Download the source code (zip) and sync dependencies:

uv sync
uv run cro-dl <url>

🔧 Git clone (development mode)

git clone git@github.com:klimanek/cro-dl.git
uv sync
uv run cro-dl <url>

Usage

1️⃣ Open mujrozhlas.cz, find a broadcast, series, or episode.

2️⃣ Copy the URL from the address bar.

3️⃣ Run in the terminal:

cro-dl <url>

If multiple formats are available, MP3 is preferred. You can customize the download using the following options:

  • --stream-format / -sf: Specify format (mp3, hls, dash).
  • --title / -t: Set a custom title for the file or folder.
  • --output / -o: Specify a custom output directory.
  • --no-accents: Remove diacritics from filenames.

Example with custom settings:

cro-dl --title "My-Favorite-Show" --no-accents --output "./my-radio" <url>

🇨🇿 Česká verze

CRo-DL (Český Rozhlas Downloader)

Poslouchejte pořady z MůjRozhlas.cz i offline.

Popis

CRo-DL je nástroj umožňující každému koncesionáři ČRo stáhnout si pořady Českého rozhlasu lokálně na své zařízení s motivací je poslouchat mimo dosah vln. Dbejte autorských práv a díla stažená pro vlastní potřebu nešiřte dál.

Podporovány jsou jak jednotlivé rozhlasové příspěvky, tak i celé seriály a kompletní programy -- seriály se stahují s číslem dílu a pod svým názvem. Každý titul je uložen do vlastní složky.

Stažení seriálu

Není-li ještě nějaký díl seriálu dostupný, CRo-DL vás upozorní a uvede datum i čas uvedení.

Závislosti

Software je napsaný v jazyce Python 🐍, proto byste v systému měli mít Python ve verzi alespoň 3.10.

Můjrozhlas.cz v zásadě používá formát mp3 pro svá díla (ČRo) a streamy HLS a DASH pro díla třetích stran. Preferovány jsou formáty mp3 a HLS pro stream. Pokud byste však chtěli z různých důvodů použít DASH, pro vytvoření a uložení finálního souboru je nutné mít v systému nainstalovaný ffmpeg.

Externí balíčky v Pythonu jsou uvedeny ve specifikaci (viz pyproject.toml). Při instalaci se stáhnou a nainstalují automaticky.

Instalace

CRo-DL lze instalovat několika způsoby:

  1. PyPi / pip
  2. Zip + uv
  3. Git clone + uv

📦 PyPi

Nejčastěji z PyPi pomocí nástroje pip:

pip install cro-dl

🚀 uv

Alternativou je lokální použití CRo-DL pomocí nástroje uv poté, co si stáhnete zde zip soubor s codebase.

uv sync

Nebo rovnou můžete stáhnout audio soubor z webu s <url>

uv run cro-dl <url>

a všechny závislosti se nainstalují automaticky.

Pro vývoj pak nejlepší bude klonovat zdejší repozitář:

git clone git@github.com:klimanek/cro-dl.git

Použití

Otevřete stránku mujrozhlas.cz, najděte si pořad / epizodu / seriál a z adresního řádku zkopírujte aktuální URL. Otevřte terminál a zadejte

cro-dl <url>

Pokročilé možnosti stahování

Kromě základního stahování můžete použít následující parametry:

  • --stream-format / -sf: Výběr formátu (mp3, hls, dash).
  • --title / -t: Vlastní název pro soubor nebo složku (vhodné pro přejmenování).
  • --output / -o: Cesta k adresáři, kam se má obsah uložit.
  • --no-accents: Odstraní diakritiku z názvů souborů a složek.

Příklad

Chcete-li si pořad stáhnout ve vámi preferovaném formátu, s vlastním názvem a bez diakritiky:

cro-dl --title "Můj Pořad" --no-accents --output "./stazeno" https://www.mujrozhlas.cz/leonardo-plus/tuk-da-kazdy-radeji-nez-kostni-dren-endokrinolog-vyviji-novou-lecbu-diabetu-kmenovymi

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

cro_dl-1.5.1.tar.gz (241.6 kB view details)

Uploaded Source

Built Distribution

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

cro_dl-1.5.1-py3-none-any.whl (237.9 kB view details)

Uploaded Python 3

File details

Details for the file cro_dl-1.5.1.tar.gz.

File metadata

  • Download URL: cro_dl-1.5.1.tar.gz
  • Upload date:
  • Size: 241.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.12 {"installer":{"name":"uv","version":"0.9.12"},"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 cro_dl-1.5.1.tar.gz
Algorithm Hash digest
SHA256 8564fc8337cc7cf0c6caac98fadccdf3b831b95ddf0a7c180f589c46d96c5628
MD5 6a270f53e1ae54d4553145d0b159d987
BLAKE2b-256 c3aebef47dbb869904ff8fa547706f96d1057b7be0b51a9b361030608fb02d54

See more details on using hashes here.

File details

Details for the file cro_dl-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: cro_dl-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 237.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.12 {"installer":{"name":"uv","version":"0.9.12"},"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 cro_dl-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9916b8356dcd3972dd400997b2848a05c3619f5c745f5af33c15c0d5f6259f27
MD5 fd9f21c5fbad754985d2ce8f60906ae8
BLAKE2b-256 49406b0e84bb9b76a902f427971f750e92217f2e3a35b88e3a96d47c34c02667

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