yt-dlp → PikPak 管道 / Pipeline Téléchargement-vers-Cloud
Une commande : yt-dlp télécharge une vidéo → upload WebDAV vers PikPak → vérification → suppression de la copie locale. One command: yt-dlp downloads a video, uploads it to PikPak over WebDAV, verifies, then removes the local copy.
Promesse de sécurité / Safety promise : Les fichiers locaux ne sont supprimés qu'après un téléchargement vérifié (contrainte au niveau du code, cleanup_local ne traite que les fichiers vérifiés). Local files are deleted only after a verified upload.
Couverture des sites / Site coverage : yt-dlp supporte plus de 1000 sites, les plus courants comme YouTube, TikTok, X(Twitter), Facebook, Instagram, Bilibili, Vimeo – cela couvre exactement le scénario de sauvegarde des réseaux sociaux mis en avant par PikPak (PikPak ne propose cette fonctionnalité que dans son application mobile ; ce pipeline l'apporte en mode ligne de commande par lots). Les règles des sites comme TikTok/X changent rapidement ; en cas d'échec d'extraction, essayez d'abord yt-dlp -U pour mettre à jour.
0. Prérequis / Prerequisites
- PikPak Premium (WebDAV nécessite un compte Premium). Pas de compte ? Commencez par le skill
pikpak-onboardingpour vous inscrire. WebDAV requires PikPak Premium. No account? Start with thepikpak-onboardingskill. - yt-dlp :
pip install yt-dlp(ouwinget install yt-dlp). - Python 3.8+ et
requests. - Copiez
webdav.config.json.exampleenwebdav.config.jsonet remplissez vos informations d'identification WebDAV (mot de passe en clair, déjà git-ignoré, ne partagez pas).
1. Utilisation / Usage
# Lien unique / single URL
python scripts/pipeline.py "https://youtube.com/watch?v=..." --remote-dir my_videos
# Liste d'URL / URL list
python scripts/pipeline.py --url-file urls.txt --remote-dir my_videos
# Simulation (sans téléchargement ni upload) / dry run
python scripts/pipeline.py --url-file urls.txt --remote-dir my_videos --dry-run
# Conserver les copies locales / keep local copies
python scripts/pipeline.py "URL" --remote-dir my_videos --keep-local
| Paramètre / Argument | Description / Description |
|---|---|
URL... / --url-file | Liens supportés par yt-dlp ; un par ligne dans le fichier, # pour les commentaires |
--remote-dir | Dossier de destination PikPak (créé automatiquement) / remote folder, auto-created |
--work-dir | Répertoire temporaire de téléchargement local, par défaut scripts/../downloads_tmp |
--keep-local | Conserver les fichiers locaux après l'upload réussi / keep local files after upload |
--retry | Nombre de tentatives d'upload par fichier, par défaut 5 |
--dry-run | Afficher uniquement le plan de traitement / print plan only |
--yt-dlp-args | Arguments supplémentaires à transmettre à yt-dlp, ex. --yt-dlp-args -f best |
2. Fonctionnement (à expliquer à l'utilisateur) / How it works
Chaque URL en quatre étapes / four steps per URL:
- Téléchargement yt-dlp →
--work-dir(nouveaux fichiers détectés par comparaison d'instantanés / new files detected by snapshot) - Upload Envoi en streaming PUT → PikPak, vérification de la taille distante / streaming PUT + size verify
- Nettoyage Suppression des copies locales vérifiées (sauf
--keep-local) / verified local copies removed - Journalisation
state/pipeline_<dossier>.jsonenregistre chaque URL comme done/failed → en cas d'interruption, la reprise saute automatiquement les fichiers déjà traités / resume-safe state
3. Pièges courants / Gotchas
- Si yt-dlp n'est pas dans le PATH, le script échoue immédiatement – vérifiez d'abord que
yt-dlp --versionfonctionne. - Relancer la même URL sera ignoré (état marqué done) ; pour re-exécuter, supprimez l'enregistrement correspondant dans
state/. - WebDAV ne permet pas la suppression définitive des fichiers dans le cloud ; utilisez l'application officielle ou le site Web pour nettoyer le cloud.
- Certains sites nécessitent des cookies/une connexion, utilisez
--yt-dlp-args --cookies-from-browser chromepour transmettre. - Rappel de conformité : Téléchargez uniquement du contenu que vous avez le droit d'accéder. Only download content you have the right to access.
4. Skills associés / Related skills
pikpak-onboarding: Pas encore de compte PikPak ? Commencez par l'inscription (avec guide d'installation du CLI officiel).pikpak-webdav-upload: Vous avez déjà des téléchargements locaux ? Téléchargez-les directement par lots.