YouTube Segment Downloader
Un package Python simple et puissant pour télécharger des segments spécifiques de vidéos YouTube en format MP4.
✨ Fonctionnalités
- ✅ Télécharge uniquement le segment demandé (pas la vidéo complète)
- ✅ Qualité maximale disponible
- ✅ Format MP4 automatique
- ✅ Validation des URLs YouTube
- ✅ Gestion des erreurs robuste
- ✅ Interface CLI simple
- ✅ Utilisation programmatique en Python
- ✅ Affichage de la progression
📦 Installation
Via pip (Recommandé)
pip install youtube-segment-downloader
Depuis les sources
git clone https://github.com/yourusername/youtube-segment-downloader.git
cd youtube-segment-downloader
pip install -e .
📋 Prérequis
Le package nécessite ffmpeg installé sur votre système :
Linux (Ubuntu/Debian):
sudo apt update
sudo apt install ffmpeg
macOS:
brew install ffmpeg
Windows: Téléchargez depuis https://ffmpeg.org/download.html
🚀 Utilisation
Interface en ligne de commande
Après installation, la commande yt-segment est disponible globalement :
yt-segment <URL> <début> <fin> [fichier_sortie]
Exemples:
# Télécharger de 15:21 à 30:21
yt-segment "https://www.youtube.com/watch?v=dQw4w9WgXcQ" "15:21" "30:21"
# Avec un nom de fichier personnalisé
yt-segment "https://www.youtube.com/watch?v=dQw4w9WgXcQ" "15:21" "30:21" "mon_extrait.mp4"
# Format avec heures (1h15m30s à 1h45m00s)
yt-segment "https://www.youtube.com/watch?v=dQw4w9WgXcQ" "1:15:30" "1:45:00"
Utilisation programmatique en Python
from youtube_segment_downloader import download_segment
# Télécharger un segment
success = download_segment(
url="https://www.youtube.com/watch?v=dQw4w9WgXcQ",
start_time="15:21",
end_time="30:21",
output_file="mon_segment.mp4",
verbose=True
)
if success:
print("Téléchargement réussi!")
En tant que module Python
python -m youtube_segment_downloader "URL" "15:21" "30:21"
📝 Formats de temps acceptés
- MM:SS - Minutes:Secondes (ex: "15:21")
- HH:MM:SS - Heures:Minutes:Secondes (ex: "1:15:30")
🔧 Comment ça marche
Le package utilise:
- yt-dlp avec l'option
--download-sectionspour télécharger uniquement la partie demandée - ffmpeg pour découper et fusionner la vidéo et l'audio
- Format de sortie MP4 pour une compatibilité maximale
⚠️ Notes importantes
- Respectez les droits d'auteur et les conditions d'utilisation de YouTube
- Assurez-vous d'avoir une connexion internet stable
- Les temps doivent être valides (le temps de fin doit être après le début)
- Le fichier sera sauvegardé dans le répertoire courant
🐛 Dépannage
"RuntimeError: yt-dlp n'est pas installé"
pip install yt-dlp
"RuntimeError: ffmpeg n'est pas installé"
- Installez ffmpeg selon votre système d'exploitation (voir Prérequis)
"ValueError: URL YouTube invalide"
- Vérifiez que l'URL commence par
https://www.youtube.com/watch?v=ouhttps://youtu.be/
Le téléchargement est lent
- C'est normal, yt-dlp télécharge et traite la vidéo en temps réel
🧪 Tests
Pour exécuter les tests :
pip install pytest
pytest tests/
🤝 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à :
- Signaler des bugs
- Proposer de nouvelles fonctionnalités
- Soumettre des pull requests
📄 Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
🔗 Liens
📊 Changelog
Voir CHANGELOG.md pour l'historique des versions.
Utilisez-le de manière responsable et respectez les droits d'auteur ! 🎬
Release files for youtube-segment-downloader 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| youtube_segment_downloader-1.0.0.tar.gz | 9.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| youtube_segment_downloader-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.2 kB
Release files / youtube_segment_downloader-1.0.0.tar.gz
| Download URL | youtube_segment_downloader-1.0.0.tar.gz |
|---|---|
| Size | 9.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ffde6d3f43a0ee51b4e3436a77d11654d0688b54e6a3dfea36ba98f7427174b8
|
|
BLAKE2b-256 checksum How to use checksums |
59d26266be92bb6330a39e0640158c8ff8bcd934167e22742f525ead10118172
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / youtube_segment_downloader-1.0.0-py3-none-any.whl
| Download URL | youtube_segment_downloader-1.0.0-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c5755fddbc58bafe28002132ccf8a1028f6abc9baa1ff1361bf0a95c4fe225b8
|
|
BLAKE2b-256 checksum How to use checksums |
ebea1a7856c69c3fa883a38359fb5aeff68d0404a0cadc99ef81b4e492264490
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|