Files
ordinaceprojekt/Video/NOTES.md
T
2026-06-17 11:53:54 +02:00

48 lines
2.0 KiB
Markdown

# 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í.