# YouTube Downloader ULTIMATE

## Ordnerstruktur

```
YTDownloader/
├── build_exe.bat          ← BAT-Datei zum Erstellen der EXE
├── README.md              ← Diese Datei
│
├── src/
│   └── ytdownloader.py    ← Python-Quellcode
│
├── output/                ← Hier landet die fertige EXE nach dem Build
│   └── ytdownloader.exe   ← (wird durch build_exe.bat erstellt)
│
├── ffmpeg_bin/            ← FFmpeg wird hier automatisch gespeichert
│   └── (wird beim 1. Programmstart automatisch heruntergeladen)
│
└── downloads/             ← Standard-Speicherordner für Downloads
    └── (hier landen deine Videos/MP3s)
```

---

## EXE erstellen

1. **Python installieren** (falls noch nicht vorhanden):  
   https://www.python.org/downloads/  
   *(Mindestens Version 3.10, beim Installieren "Add to PATH" aktivieren!)*

2. **`build_exe.bat` doppelklicken**  
   Das Skript installiert automatisch alle nötigen Pakete  
   (PyInstaller, yt-dlp, wxPython, Pillow) und baut die EXE.

3. **Fertig!**  
   Die EXE liegt danach in: `output\ytdownloader.exe`

---

## Programm direkt starten (ohne EXE)

```
pip install yt-dlp wxPython pillow
python src\ytdownloader.py
```

---

## Weitergeben / Verteilen

Wenn du das Programm an andere weitergeben willst, gib den **ganzen YTDownloader-Ordner** weiter (nicht nur die EXE), damit FFmpeg und der Download-Ordner korrekt erkannt werden.

**Mindestinhalt zum Weitergeben:**
- `output\ytdownloader.exe`
- `ffmpeg_bin\` (Ordner, kann leer sein – wird beim Start befüllt)
- `downloads\` (Ordner, kann leer sein)

---

## Hinweise

- **FFmpeg** wird beim ersten Programmstart automatisch aus dem Internet heruntergeladen und in `ffmpeg_bin\` gespeichert. Das passiert nur einmal.
- **Downloads** werden standardmäßig in den `downloads\`-Ordner gespeichert. Das kann im Programm jederzeit geändert werden.
- Für altersbeschränkte Videos werden automatisch Firefox-Cookies versucht.
