Skip to main content

YouTube Segment Downloader

PyPI version Python License: MIT

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:

  1. yt-dlp avec l'option --download-sections pour télécharger uniquement la partie demandée
  2. ffmpeg pour découper et fusionner la vidéo et l'audio
  3. 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= ou https://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)

Source distribution for youtube-segment-downloader 1.0.0
File Size Uploaded
youtube_segment_downloader-1.0.0.tar.gz 9.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for youtube-segment-downloader 1.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page