Files
2026-06-17 11:53:54 +02:00

2.0 KiB

Video — stahování videí

stahni_video.py

Stahuje videa z Vimea, YouTube a dalších webů přes yt-dlp. Nejlepší dostupná kvalita, sloučení video+audio do .mp4. Soukromá / nedostupná videa sám pozná a přeskočí (nespadne).

Závislosti (jednorázově)

python -m pip install -U yt-dlp static-ffmpeg
  • yt-dlp — vlastní downloader.
  • static-ffmpeg — dodá ffmpeg.exe + ffprobe.exe (v systému ffmpeg není). Skript si přes static_ffmpeg.add_paths() cestu nastaví sám; binárky se stáhnou při prvním běhu do site-packages\static_ffmpeg\bin\.

Použití

python stahni_video.py URL [URL2 ...]
python stahni_video.py                       # vezme URL z urls.txt (1 na řádek)
python stahni_video.py --cookies-from-browser firefox URL   # video za přihlášením
python stahni_video.py -o D:\nekam URL       # jiný výstupní adresář

Výchozí výstupní adresář je tento (Video/). Soubory: %(title)s [%(id)s].mp4.

Jak pozná soukromé/nedostupné video

yt-dlp vyhodí DownloadError s textem chyby. Funkce klasifikuj_chybu() hledá v textu známé fráze (private video, video unavailable, removed, members-only, …) a vrátí český popis → video se přeskočí. Jiné chyby (síť, chybí ffmpeg) se vypíšou jako [CHYBA], ale běh pokračuje na další URL. Na konci se vypíše souhrn (staženo / přeskočeno / chyby).

Poznámky / úskalí

  • Soukromé YouTube video opravdu nejde stáhnout, pokud k němu přihlášený účet nemá udělený přístup — to je záměr, skript ho jen přeskočí.
  • Diakritika v názvech: cesty se zkomolí, když se předávají Windows binárce přes Bug Bash pipe; v běžné konzoli (cp1250) je vše v pořádku.
  • Vimeo dává oddělené video/audio HLS streamy → ffmpeg je nutný pro sloučení.
  • Při prvním běhu může yt-dlp varovat na chybějící JavaScript runtime (deno); pro běžná veřejná videa to nevadí.