184 votes

Comment télécharger uniquement les sous-titres des vidéos en utilisant youtube-dl

Comment puis-je télécharger des sous-titres d'une liste de vidéos en utilisant youtube-dl? J'ai besoin d'une option pour cela. Cependant, je n'ai pas trouvé d'option pour télécharger uniquement les sous-titres

234voto

pmu Points 331

Il y a une option, clairement mentionnée dans la documentation :

Options de sous-titres :

--write-sub                      Écrire le fichier de sous-titres
--write-auto-sub                 Écrire le fichier de sous-titres automatique (uniquement YouTube)
--all-subs                       Télécharger tous les sous-titres disponibles de la vidéo
--list-subs                      Lister tous les sous-titres disponibles pour la vidéo
--sub-format FORMAT              Format de sous-titres, accepte les préférences de formats, par exemple : "srt" ou "ass/srt/best"
--sub-lang LANGS                 Langues des sous-titres à télécharger (optionnel) séparées par des virgules, utilisez des balises linguistiques IETF comme 'en,pt'

Par exemple, pour lister tous les sous-titres d'une vidéo :

youtube-dl --list-subs https://www.youtube.com/watch?v=Ye8mB6VsUHw

Pour télécharger tous les sous-titres, mais pas la vidéo :

youtube-dl --all-subs --skip-download https://www.youtube.com/watch?v=Ye8mB6VsUHw

50voto

m3asmi Points 601

Ou vous ne pouvez télécharger qu'un sous-titre

youtube-dl --write-sub --sub-lang fr --skip-download URL

13voto

Hernan Pesantez Points 139

Il suffit d'exécuter la commande suivante

youtube-dl --write-auto-sub --convert-subs=srt --skip-download URL 

Par exemple, si vous téléchargez https://www.youtube.com/watch?v=example.avec le titre "example" --convert=srt va produire un fichier nommé example.en.srten représente l'anglais et es l'espagnol, etc.

Le fichier aura un contenu comme celui-ci:

00:00:04.259 --> 00:00:05.259
>> I’m Elon Musk.

00:00:05.259 --> 00:00:06.669
>> What is your claim to fame?

00:00:06.669 --> 00:00:07.669
>> I’m the founder of

00:00:07.669 --> 00:00:08.669
Tesla.com.

OPTIONNEL - Si vous avez besoin que le texte soit nettoyé, vous pouvez utiliser python pour le nettoyer un peu:

import re
bad_words = ['-->',''] 

with open('example.en.vtt') as oldfile, open('newfile.txt', 'w') as newfile:
    for line in oldfile:
        if not any(bad_word in line for bad_word in bad_words):
            newfile.write(line)

with open('newfile.txt') as result:
    uniqlines = set(result.readlines())
    with open('sub_out.txt', 'w') as rmdup:
        mylst = map(lambda each: each.strip(">>"), uniqlines)
        print(mylst)
        rmdup.writelines(set(mylst))

Sortie newfile.txt:

I’m Elon Musk.
What is your claim to fame?
I’m the founder of
Tesla.com.

5voto

jegadesh Points 99

Une autre façon simple de télécharger des sous-titres à partir de YouTube est de télécharger Google2SRT. Google2SRT est un programme gratuit et open source pour Windows, Mac et Linux qui est capable de télécharger, sauvegarder et convertir plusieurs sous-titres de vidéos YouTube.

Utilisation

Cliquez sur les liens pour voir des captures d'écran des étapes 1 et 2.

  1. Collez l'URL dans la zone de texte des sous-titres Google et cliquez sur Lire.

  2. Choisissez la langue en sélectionnant la case appropriée et appuyez sur Go.

  3. Visualisez le dossier de destination qui a été saisi dans la zone de texte des sous-titres SRT pour localiser les fichiers SRT.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X