# 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ě) ```bat 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í ```bat 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í.