--- title: YTPTube created: 2026-06-07 updated: 202-06-07 type: app tags: [catalogue, downloads, youtube, yt-dlp, python, web-ui, frontend] confidence: medium contested: false sources: - https://selfh.st/apps/?tag=downloads - https://github.com/arabcoders/ytptube --- # 📺 YTPTube > Interface web moderne pour yt-dlp, fork de MeTube axé sur les **téléchargements concurrents**, la gestion de presets et la file d'attente persistante. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | https://github.com/arabcoders/ytptube | | **GitHub** | https://github.com/arabcoders/ytptube | | **License** | AGPL-3.0 | | **Langage** | Python (Flask + Celery) + JS | | **Étoiles** | 31 ⭐ | | **Dernière MAJ** | 2025 | | **Catégorie** | [[cat-downloads]] | ## Description YTPTube est né en 2025 comme un **fork de MeTube** (lui-même fork de YouTube-DL-Material), avec un objectif clair : **vrai support des téléchargements concurrents** sans verrou de mutex, et une UI plus réactive. Le projet a été initié par la communauté **ArabCoders** qui trouvait MeTube trop lent pour des playlists de 200+ vidéos. Concrètement, YTPTube apporte : **queue persistante** (les téléchargements survivent à un redémarrage du conteneur), **presets de format** (configurer une fois « 1080p + audio AAC 192 kbps » et l'appliquer en un clic), **downloads parallèles paramétrables** (par défaut 2, configurable à 8+ selon la machine), **notifications webhook** (Ntfy, Discord, Telegram) à chaque fin, et **import de playlists** YouTube via leur URL directe. L'UI est soignée : thème sombre par défaut, prévisualisation miniature pour les URL YouTube, estimation de durée, et un **mini-player** intégré qui permet d'écouter un MP3 extrait sans quitter l'interface. Compatible avec l'écosystème yt-dlp : cookies navigateur, sponsorblock, post-processing ffmpeg. Pour un usage domestique (1-2 utilisateurs), MeTube suffit. YTPTube se justifie dès qu'on lance des **gros imports** : podcast de 300 épisodes, archive d'une chaîne, playlist de mixes DJ. ## Installation ### Docker Compose (recommandé) ```yaml # docker-compose.yml services: ytptube: image: ghcr.io/arabcoders/ytptube:latest container_name: ytptube restart: unless-stopped ports: - "8081:8081" environment: - TZ=Europe/Paris - PUID=1000 - PGID=1000 - MAX_CONCURRENT=4 - PRESET=bestvideo+bestaudio/best - DOWNLOAD_DIR=/downloads volumes: - ./config:/app/config - /data/ytptube:/downloads - ./cookies:/app/cookies # export cookies.txt si besoin ``` ### Installation manuelle ```bash git clone https://github.com/arabcoders/ytptube cd ytptube pip install -r requirements.txt cp .env.example .env python -m ytptube # UI sur :8081 ``` ## Configuration - **Presets de format** : par exemple `audio` (extraction mp3 320), `video_1080` (mp4 1080p), `video_best` (bestvideo+bestaudio muxé en mkv). - **Concurrence** : `MAX_CONCURRENT=4` est un bon défaut pour 4 CPU / 8 Go RAM, ajuster selon charge. - **Cookies** : monter `./cookies/cookies.txt` pour bypass les restrictions YouTube sur IP partagées (anti-bot). - **Notifications** : webhook URL Ntfy/Discord/Telegram, déclenché à chaque fin de download. - **Sponsorblock** : peut marquer/extraire les segments sponsor d'une vidéo YouTube (option yt-dlp native). - **Queue persistante** : stockée en SQLite dans `./config`, survit aux redémarrages. ## Alternatives ### Open Source - [[app-yt-dlp-web-player]] — Go + React, plus moderne, moins orienté « gros batch ». - **MeTube** — projet parent de YTPTube, plus simple, mono-thread pratique. - **TubeCast** — UI minimaliste, pas de queue. - **Tartube** — GUI GTK desktop, pas web. - **yt-dlp CLI** — référence, pas d'UI. - **Pinchflat** — Go, focus chaînes YouTube (s'abonne + auto-télécharge les nouvelles). ### Propriétaires (ce que YTPTube remplace) - **4K Video Downloader** — desktop, payant pour les features avancées. - **JDownloader** — lourd, Java, historique. - **youtube-dl-gui** wrappers — peu maintenus, pas d'incrémental. - **YouTube Premium offline** —只能在应用内读,没用。 ## Sécurité - **Cookies navigateur** : si exportés pour contourner les restrictions, ils donnent accès à votre compte Google. Chiffrer `./cookies` au repos, ne pas versionner. - **Pas d'auth par défaut** : l'UI accepte n'importe quelle URL de n'importe qui sur le réseau, **ne pas exposer** sans reverse proxy authentifié. - **Surface web** : Flask + Celery = stack classique, peu de CVE connues, garder l'image à jour. - **AGPL-3.0** : copyleft fort, si vous modifiez et exposez publiquement, vous devez publier vos sources. - **Bus factor limité** : fork de MeTube, la communauté ArabCoders est petite mais le socle (yt-dlp) est solide et indépendant. ## Ressources - Repository : https://github.com/arabcoders/ytptube - Annonce Reddit : https://www.reddit.com/r/selfhosted/comments/1l1p76w/ - MeTube (projet parent) : https://github.com/alexta69/metube - yt-dlp : https://github.com/yt-dlp/yt-dlp - Sponsorblock : https://sponsor.ajay.app/ ## Pages Liées - [[cat-downloads]] — catégorie parente - [[app-yt-dlp-web-player]] — alternative - [[app-yubal]] — focus musique YT - [[app-spotizerr]] — focus Spotify - [[app-jellyfin]] — peut ingérer les vidéos - [[app-traefik]] — reverse proxy - [[app-authentik]] — SSO - [[recettes-docker-compose]] — templates - [[securisation-home-lab]] — bonnes pratiques