4 méthodes gratuites pour télécharger des sous-titres YouTube (et obtenir des transcriptions)

Vous cherchez comment télécharger un sous titre YouTube rapidement et sans frais ? Récemment, je me suis penché sur la question pour créer un article à partir d’une vidéo YouTube, et j’ai découvert plusieurs techniques vraiment utiles. Dans ce guide, vous trouverez quatre méthodes classées de la plus facile à la plus complexe. Choisissez celle qui vous convient le mieux !

Note sur l’affiliation : Certains outils évoqués ci-dessous proposent un programme d’affiliation. Ainsi, quelques liens pourraient être affiliés, me permettant de toucher une petite commission. Cela n’influence néanmoins pas mon jugement : si un outil ne me plaît pas, je ne le recommande pas.

Méthode 1 : Télécharger les transcriptions de vos propres vidéos YouTube

Pour commencer, si vous souhaitez simplement récupérer les sous-titres d’une vidéo qui vous appartient, tout peut se faire directement via votre interface YouTube.

  1. Accédez à YouTube Studio
    Connectez-vous à votre compte YouTube, puis sélectionnez YouTube Studio dans le menu déroulant de votre photo de profil.
  2. Dirigez-vous vers la section Sous-titres
    Dans YouTube Studio, cliquez sur l’onglet Vidéos, choisissez la vidéo concernée et sélectionnez Sous-titres.
  3. Repérez le sous-titre généré automatiquement
    Recherchez la mention « Automatique » (parfois notée « Généré automatiquement ») indiquant la langue de la vidéo.
  4. Téléchargez la transcription
    Cliquez sur les trois petits points à côté de ce sous-titre auto-généré, puis choisissez Télécharger. Vous obtiendrez un fichier .sbv, que vous pourrez ensuite convertir si besoin.

C’est la solution la plus rapide lorsqu’on souhaite récupérer ses propres sous titres YouTube sans logiciel tiers.

Méthode 2 : Utiliser des sites spécialisés pour télécharger les sous-titres (toutes vidéos confondues)

Si vous souhaitez télécharger des sous-titres sur n’importe quelle vidéo YouTube, il existe de nombreux sites gratuits. On peut distinguer deux catégories :

  1. Sites avec du texte brut (sans timestamp)
  • Editby.ai
    Vous n’avez qu’à renseigner l’URL de la vidéo : le site vous génèrera le texte complet. Vous pouvez ensuite le copier ou le télécharger au format .txt.
  • YoutubeChannelTranscripts
    Idéal pour simplement récupérer du texte. Il ne propose pas de visionner les sous-titres en direct, mais permet le téléchargement.
  • Yukitools.com
    Ici, vous pouvez afficher les sous-titres en direct sur la page, mais il n’est pas possible de télécharger un fichier .txt (vous devez tout copier-coller).
  1. Sites avec texte + timestamps
  • VidScript Trois options intéressantes :
    1. Texte brut (pour copier-coller le contenu).
    2. Fichier .txt avec des retours à la ligne.
    3. Fichier .csv comprenant les timestamps (très pratique pour la synchronisation).
  • DownSub
    Permet de télécharger un fichier .srt (format standard pour les sous-titres) avec les horodatages, ce qui donne du sens à chaque phrase. Il est même possible de traduire les sous-titres dans une autre langue avant de les récupérer.
  • Youtube-Transcript
    Site intuitif et complet : vous pouvez cliquer sur une phrase pour lire la vidéo à l’instant précis. Vous voyez toutes les langues disponibles et pouvez générer un résumé directement sur leur plateforme. Attention toutefois : il peut parfois bloquer si YouTube limite l’accès, donc réessayez plusieurs fois si nécessaire.
READ  5 raisons de se former à la data science

Cette méthode est habituellement la préférée des créateurs et des rédacteurs qui souhaitent faire un résumé ou une analyse détaillée d’une vidéo, car elle est rapide et conviviale.

Méthode 3 : Utiliser un outil de reconnaissance vocale (Google Docs, Maestra, etc.)

Option A : La reconnaissance vocale de Google Docs (gratuit)

C’est une astuce accessible à tous, bien que plus manuelle.

  1. Ouvrez Google Docs et créez un document vierge.
  2. Activez la saisie vocale (Menu Outils → Saisie vocale).
  3. Lancez la vidéo YouTube dont vous voulez transcrire les sous-titres en mettant le son.
  4. Laissez Google Docs capturer le son et écrire le texte en direct.

Ce procédé est un peu long et parfois imprécis, surtout si l’environnement est bruyant ou si la prononciation est floue, mais c’est une solution de contournement gratuite.

Option B : Les services en ligne (version payante la plupart du temps)

Si besoin, vous pouvez vous tourner vers des sites professionnels qui génèrent des transcriptions en écoutant la vidéo, puis proposent un éditeur avancé pour ajuster les sous-titres. Quelques exemples :

  • Maestra
    Possède un éditeur très complet : une fois la transcription générée, vous pouvez faire Exporter en haut à droite pour choisir le format de sous-titres (SRT, VTT, etc.).
  • HappyScribe
    Bien connu pour sa fiabilité. Vous pouvez obtenir des transcriptions de qualité.
  • AmberScript
    Propose même des transcriptions réalisées par de vraies personnes, avec un coût supérieur, mais une précision quasi parfaite.

Méthode 4 : Créer son propre script Python avec youtube-transcript-api

Pour les utilisateurs avancés (et les curieux), sachez qu’il existe un package Python dédié, nommé youtube-transcript-api. Il permet de récupérer les sous-titres de n’importe quelle vidéo YouTube en quelques lignes de code.

  1. Installez le package (j’utilise poetry pour gérer mes package python)
    Dans un dossier projet, exécutez la commande :
   poetry add youtube-transcript-api

(Ou utilisez pip : pip install youtube-transcript-api.)

  1. Créez votre script
    Le script le plus simple consiste à importer la bibliothèque, puis extraire les sous-titres en fournissant l’URL ou l’ID de la vidéo. ChatGPT ou d’autres IA peuvent vous aider à générer le script de base.
READ  Mon ENT Occitanie : Comment utiliser l’Espace Numérique de Travail
  1. Intégrez la récupération de transcript
    Vous pouvez automatiser le processus, par exemple pour alimenter un blog ou générer des articles complet à partir de vidéos YouTube.
from youtube_transcript_api import YouTubeTranscriptApi, TranscriptsDisabled, NoTranscriptFound

def get_video_id(url):
    """
    Extract the video ID from a YouTube URL
    """
    if 'youtube.com/watch?v=' in url:
        return url.split('v=')[1]
    elif 'youtu.be/' in url:
        return url.split('be/')[1]
    else:
        raise ValueError("Invalid YouTube URL")

def fetch_available_languages(video_id):
    """
    Fetch available languages for the YouTube video transcript.
    """
    try:
        transcript_list = YouTubeTranscriptApi.list_transcripts(video_id)
        languages = []

        # Iterate over the transcript list to get the languages
        for transcript in transcript_list:
            languages.append((transcript.language, transcript.language_code))

        return languages
    except TranscriptsDisabled:
        print("Transcripts are disabled for this video.")
        return []
    except NoTranscriptFound:
        print("No transcripts found for this video.")
        return []

def choose_language(languages):
    """
    Display available languages and allow the user to choose one.
    """
    print("\nAvailable languages:")
    for idx, (language, code) in enumerate(languages):
        print(f"{idx + 1}. {language} ({code})")

    choice = int(input("\nEnter the number of the language you want to select: ")) - 1
    if choice < 0 or choice >= len(languages):
        print("Invalid choice. Please run the program again.")
        exit()

    return languages[choice][1]

def download_transcript(video_id, language_code, output_file):
    """
    Download the YouTube transcript in the selected language and save it to a .txt file.
    """
    try:
        transcript = YouTubeTranscriptApi.get_transcript(video_id, languages=[language_code])
        with open(output_file, 'w', encoding='utf-8') as f:
            for entry in transcript:
                timestamp = format_time(entry['start'])
                f.write(f"{timestamp} - {entry['text']}\n")
        print(f"Transcript saved to {output_file}")
    except Exception as e:
        print(f"Error fetching transcript: {e}")

def format_time(seconds):
    """
    Format timestamp from seconds to HH:MM:SS.
    """
    mins, secs = divmod(int(seconds), 60)
    hrs, mins = divmod(mins, 60)
    return f"{hrs:02}:{mins:02}:{secs:02}"

def preview_transcript(output_file, lines=5):
    """
    Display the first 'n' lines of the transcript.
    """
    try:
        with open(output_file, 'r', encoding='utf-8') as f:
            transcript_lines = f.readlines()
            print("\nPreview of the transcript:")
            for line in transcript_lines[:lines]:
                print(line.strip())
    except Exception as e:
        print(f"Error reading the transcript file: {e}")

if __name__ == "__main__":
    url = input("Enter the YouTube video URL: ")
    video_id = get_video_id(url)

    # Fetch available languages
    languages = fetch_available_languages(video_id)

    if languages:
        # Ask user to select a language
        language_code = choose_language(languages)

        # Download transcript and save to file
        output_file = f"youtube_transcript_{video_id}_{language_code}.txt"
        download_transcript(video_id, language_code, output_file)

        # Preview the first 5 sentences of the transcript
        preview_transcript(output_file, 5)
    else:
        print("No available languages for this video.")

Cette méthode est idéale si vous aimez coder ou si vous souhaitez intégrer ces fonctionnalités dans un outil plus vaste.

READ  Front-end vs Back-end : Comprendre les fondamentaux du web

Conclusion

À présent, vous connaissez plusieurs façons de télécharger un sous titre YouTube, que vous souhaitiez simplement récupérer les vôtres via YouTube Studio ou extraire ceux des autres vidéos grâce à des sites tiers (gratuitement ou en mode payant plus complet). Vous pouvez même passer par la saisie vocale de Google Docs, ou aller plus loin et créer votre propre script Python.

L’important est de choisir la méthode adaptée à votre situation : simplicité (sites en ligne), puissance (scripts Python) ou un mix entre les deux (outils en ligne comme Maestra). Avec ces quatre approches, vous devriez trouver la solution qui répond à vos besoins !

Astuce : Lorsque vous mettez en ligne vos propres vidéos YouTube, n’oubliez pas d’ajouter des sous-titres manuellement ou en les corrigeant après génération automatique. Cela améliore le référencement de la vidéo et permet à un public plus large de la comprendre (utilisateurs malentendants, langues différentes, etc.).

J’espère que cet article vous aura aidé à y voir plus clair. N’hésitez pas à partager vos retours ou à poser vos questions en commentaire. Bonne transcription de sous titre YouTube à tous !

Mathieu

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut