Comment transcrire des vidéos YouTube et générer des sous-titres à l’aide de Node.js

Comment transcrire des vidéos YouTube et générer des sous-titres à l’aide de Node.js

2024-06-25 19:47:37

Dans un récent didacticiel d’AssemblyAI, les développeurs peuvent apprendre à transcrire des vidéos YouTube et à générer des sous-titres SRT à l’aide de Node.js. Ce guide couvre non seulement le processus de transcription, mais montre également comment créer des sous-titres et exploiter le framework LeMUR pour les invites vidéo à l’aide d’un grand modèle linguistique (LLM).

Étape 1 : Configurez votre environnement de développement

Pour commencer, les développeurs doivent installer Noeud.js 18 ou plus. Après avoir configuré le répertoire du projet et initialisé un nouveau projet Node.js, le package.json Le fichier doit être configuré pour utiliser la syntaxe du module ES.

Ensuite, installez les modules NPM nécessaires :

  • assemblyai : installe le SDK JavaScript AssemblyAI pour interagir avec l’API AssemblyAI.
  • youtube-dl-exec : un wrapper pour l’outil CLI yt-dlp permettant de récupérer et de télécharger des informations sur les vidéos YouTube.
  • tsx : permet l’exécution de code TypeScript sans configuration supplémentaire.

De plus, Python 3.7 ou supérieur est requis pour youtube-dl-exec. Une clé API AssemblyAI est également nécessaire, qui peut être configurée comme variable d’environnement sur la machine.

Étape 2 : Récupérer l’audio d’une vidéo YouTube

Pour transcrire une vidéo, une URL publique vers la piste audio est nécessaire. YouTube stocke l’audio et la vidéo séparément, et le module youtube-dl-exec peut récupérer ces informations. Le script suivant récupère l’URL audio d’une vidéo YouTube :

importer {youtubeDl } depuis “youtube-dl-exec” ; const youtubeVideoUrl = ” console.log(“Récupération de l’URL audio d’une vidéo YouTube”); const videoInfo = wait youtubeDl(youtubeVideoUrl, { dumpSingleJson : true, preferFreeFormats : true, addHeader : [“referer:youtube.com”, “user-agent:googlebot”], }); const audioUrl = videoInfo.formats.reverse().find( (format) => format.resolution === “audio uniquement” && format.ext === “m4a”, )?.url; if (!audioUrl) { throw new Error(“Aucun format audio uniquement trouvé”); } console.log(“URL audio récupérée avec succès”); console.log(“URL audio :”, audioUrl);

Avec l’URL audio, l’audio peut être transcrit à l’aide d’AssemblyAI.

Étape 3 : Enregistrez la transcription et les sous-titres

Une fois la transcription terminée, le texte de la transcription peut être enregistré dans un fichier. Le code suivant enregistre la transcription et génère des sous-titres SRT :

import { writeFile } from “fs/promises” console.log(“Enregistrement de la transcription dans un fichier”); wait writeFile(“./transcript.txt”, transcript.text!); console.log(“Transcript enregistré dans le fichier transcript.txt”); console.log(“Récupération de la transcription sous forme de sous-titres SRT”); const sous-titres = attendre aaiClient.transcripts.subtitles(transcript.id, “srt”); wait writeFile(“./subtitles.srt”, sous-titres); console.log(“Sous-titres enregistrés dans le fichier subtitles.srt”);

Pour générer des sous-titres WebVTT, remplacez simplement « srt » par « vtt » et enregistrez le fichier avec l’extension .vtt.

Étape 4 : Exécutez le script

Pour exécuter le script, utilisez la commande suivante :

npx tsx index.ts

Le texte de la transcription et les sous-titres seront enregistrés sur le disque, la durée du processus dépendant de la durée de la vidéo YouTube.

Bonus : invitez une vidéo YouTube à l’aide de LeMUR

Le framework LeMUR d’AssemblyAI permet aux développeurs de créer des fonctionnalités d’IA générative. En écrivant des invites pour le LLM, les développeurs peuvent générer des réponses basées sur la transcription. Par exemple, une invite pour résumer la vidéo à l’aide de puces peut être implémentée comme suit :

console.log(“Inviter LeMUR à résumer la vidéo”); const prompt = “Résumez cette vidéo à l’aide de puces” ; const lemurResponse = wait aaiClient.lemur.task({ transcript_ids : [transcript.id], invite, final_model : “default” }); console.log(prompt + “: ” + lemurResponse.response);

Pour une personnalisation plus poussée, divers modèles pris en charge sont répertoriés dans la documentation LeMUR.

Prochaines étapes

Dans ce didacticiel, les développeurs ont appris à récupérer l’audio d’une vidéo YouTube, à transcrire l’audio, à générer des sous-titres et à résumer la vidéo à l’aide de LeMUR. Pour plus de fonctionnalités, consultez AssemblyAI Modèles d’intelligence audio et Maki.

Source de l’image : Shutterstock



#Comment #transcrire #des #vidéos #YouTube #générer #des #soustitres #laide #Node.js
1719342610

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.