jeudi, avril 25, 2024
Internet

Créer des chapitres vidéo en Python : la méthode la plus simple

Dans mes derniers articles, j’ai appris la reconnaissance vocale en utilisant une API. Pour ceux-là, j’ai construit un créateur de liste de tâches comme mon projet. Cependant, pour cet article, je voulais revoir l’API de reconnaissance vocale que j’utilisais, mais avec un nouveau projet. Et quoi de mieux que de l’intégrer à un projet plus ancien ? Le projet auquel je fais référence a été lorsque j’ai utilisé Python pour éditer des vidéos. Dans l’esprit du montage de vidéos, je me suis demandé s’il existait un moyen de créer des chapitres grâce au code. Et c’est exactement ce que nous allons faire aujourd’hui.

Comme dans mes articles précédents, j’utiliserai l’API AssemblyAI pour la reconnaissance vocale afin de créer automatiquement des chapitres dans un fichier vidéo. Je pourrai également recycler le code de mon article sur le montage vidéo Python. Si vous ne l’avez pas encore lu, je couvrirai brièvement le code ici également. Mais assez parlé du contexte, passons directement au code.

VOIR AUSSI: Comment fonctionne la méthode Python String format() ? 10 exemples

Création d’une classe pour appeler l’API

Si vous avez lu mes récents articles sur la reconnaissance vocale, vous remarquerez qu’il y a très peu de différences et que vous n’aurez pas grand-chose à ajouter. Cependant, si vous ne les avez pas encore lues, je vais quand même énumérer les fonctions nécessaires ici, mais avec moins d’explications que celles que j’ai déjà écrites à leur sujet. Ce sera le premier fichier dont vous aurez besoin, qui crée une classe pour les appels API. Cette classe sera utilisée dans le fichier de montage vidéo, que nous allons créer ici dans quelques minutes.

Rappelez-vous, les premières étapes que j’ai suivies dans mes autres articles ont été de déclarer mes importations, de créer la classe et d’écrire l’initialiseur. La différence de code est que lors de la déclaration de l’objet JSON dans submit_audio, j’ai inclus les auto_chapters. Sinon, les autres fonctions restent les mêmes, je vais donc les énumérer toutes en premier. Vous devrez peut-être également installer la bibliothèque de requêtes, que je n’inclurai pas, comme je l’ai écrit sur le processus dans mes articles précédents.

Passons maintenant à la dernière fonction pour soumettre l’audio. Encore une fois, le changement a été assez simple. Essentiellement, je viens d’ajouter auto_chapters au JSON transmis afin qu’ils soient inclus dans le retour.

Avec notre classe construite, il est temps de modifier ou de créer le fichier de montage vidéo.

Mise à jour de l’ancienne classe de montage vidéo

Pour commencer, nous utiliserons quelques bibliothèques différentes : pathlib, moviepy et time. Encore une fois, parce que j’ai déjà écrit dessus, je n’inclurai pas les étapes à installer pour l’instant, mais elles se trouvent dans mon article sur le montage vidéo en python si vous souhaitez télécharger les packages requis étape par étape.

Ce fichier est intitulé editor.py. Jetons un coup d’œil aux importations dont j’avais besoin pour ce projet :

La prochaine chose que j’ai faite a été de déclarer ma classe d’éditeur et mon initialiseur. Parce que j’ai déjà parcouru ce code, j’inclurai également mes fonctions pour accélérer la vidéo. Si vous voulez des descriptions plus détaillées de leur fonctionnement, veuillez vous référer à mon article sur le montage vidéo en python qui était lié dans l’intro.

À partir de là, j’avais besoin de créer les chapitres de la vidéo. Essentiellement, cela créera une nouvelle instance de la classe speech_to_text, téléchargera un fichier vidéo sur AssemblyAI, puis soumettra ce fichier pour qu’il soit traité. J’ai également inclus une petite gestion des erreurs en cas de problème :

Une fois le fichier de montage vidéo terminé, nous sommes prêts à créer le fichier pour tester les auto_chapters.

Tester le code

Pas trop de code est nécessaire pour le fichier de test. Essentiellement, j’ai dû importer le fichier de montage vidéo, définir une variable pour initialiser la classe et enfin appeler la fonction create_chapters avec un chemin pour enregistrer les résultats. J’ai accompli cela avec seulement quelques lignes de code:

Avec le code terminé, maintenant juste pour faire un petit test :

LIRE AUSSI: 10 idées de projets Python adaptées aux débutants

Conclusion

Aujourd’hui, j’ai utilisé l’API d’AssemblyAI pour ajouter de nouvelles fonctionnalités au projet d’éditeur vidéo Python sur lequel je travaillais. En un mot, la nouvelle fonction facilite la tâche fastidieuse de créer des chapitres vidéo en le faisant automatiquement pour moi. Pour travailler sur ce projet, j’ai pu réutiliser le code de quelques autres projets avec seulement quelques modifications mineures. Surtout en ajoutant simplement « auto_chapters » à l’objet JSON envoyé à l’API, j’ai trouvé cela très facile à apprendre et à reproduire également pour d’autres projets. Dans l’ensemble, j’ai trouvé ce projet intéressant et facile à suivre. J’espère que vous avez également trouvé cela utile et intéressant. Jusqu’à la prochaine fois, bravo!

Leave a Response

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.