Communitygithub.com

XiaoBeiCoder/course-video-pipeline

Téléchargez, transcrivez, découpez, sous-titrez, documentez, vérifiez et téléversez des vidéos de cours selon des règles de traitement réutilisables ou lorsque des sorties fusionnées et non fusionnées personnalisées sont nécessaires.

Qu'est-ce que course-video-pipeline ?

Ce skill permet de traiter de bout en bout des enregistrements de cours tout en respectant la forme de sortie demandée par l'utilisateur. Il privilégie les clips indépendants, sauf demande explicite d'une vidéo de cours fusionnée. Il prend en charge le téléchargement, la transcription avec WhisperX, le découpage précis via FFmpeg, la génération de sous-titres SRT, la création de manifestes Markdown, la vérification des sorties et l'upload vers des répertoires distants (ex. BaiduPCS-Go). Le pipeline est conçu pour être déterministe, réutiliser les transcriptions valides et éviter le travail GPU redondant. Il est particulièrement utile pour les développeurs et ingénieurs pédagogiques ayant besoin d'automatiser la production de clips de cours, de vidéos fusionnées ou de documents structurés à partir de sources brutes.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add XiaoBeiCoder/course-video-pipeline

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Pipeline vidéo de cours

Traitez les enregistrements de cours de bout en bout tout en préservant la forme de sortie demandée par l'utilisateur. Préférez les clips indépendants sauf si l'utilisateur demande explicitement une vidéo de cours fusionnée. N'inférez pas l'autorisation de supprimer les sources locales ou les sorties distantes existantes.

Avant le traitement

  1. Lisez exactement les chemins source et destination de l'utilisateur. Traitez les étiquettes comme "全部文件" comme du texte d'interface utilisateur sauf si elles existent dans le chemin distant.
  2. Inspectez les noms de fichiers distants, les tailles, les formats et les sorties existantes avant le téléchargement.
  3. Vérifiez l'espace libre local, le GPU disponible, l'environnement FFmpeg codec, WhisperX et la connexion BaiduPCS-Go.
  4. Choisissez l'adaptateur de cours après avoir échantillonné les noms de fichiers, le texte de transcription et la structure vidéo. Lisez references/course-adapters.md pour les styles connus et pour détecter les styles inconnus.
  5. Confirmez le mode de sortie : clips individuels, clips fusionnés, ou les deux. Par défaut, clips individuels si non spécifié.

Pipeline

  1. Téléchargez et validez chaque vidéo source sans changer son ordre naturel.
  2. Transcrivez les fichiers source indépendamment. Réutilisez les transcriptions valides et les plans de clips au lieu de répéter le travail GPU.
  3. Construisez un manifeste déterministe de clips ou d'unités. Vérifiez les limites candidates lorsque les marqueurs sont ambigus.
  4. Rendez les clips et générez un SRT par clip. Générez une vidéo fusionnée et un SRT combiné uniquement sur demande.
  5. Générez un manifeste Markdown contenant l'étiquette, le nom de fichier de sortie, le nom de fichier source, les timestamps source, la durée et toute note d'adaptation.
  6. Exécutez le validateur de sortie avant le téléversement.
  7. Téléversez dans le répertoire distant exact de l'utilisateur et vérifiez les comptes et noms de fichiers distants.
  8. Nettoyez uniquement après vérification et uniquement dans le cadre de l'autorisation de suppression de l'utilisateur.

Contrat de sortie requis

Pour chaque clip sélectionné ou unité de connaissance conservée, fournissez :

  • Un MP4 sauf si l'unité demandée est uniquement des métadonnées.
  • Un SRT avec réinitialisation des timestamps et un nom de base correspondant.
  • Une ligne dans la liste Markdown du cours ou du chapitre.
  • Des préfixes séquentiels stables plus l'ID d'exemple ou d'unité d'origine.

En mode fusionné, conservez localement les clips individuels normalisés et ajoutez un MP4 fusionné ainsi qu'un SRT combiné ajusté à la timeline. Ne remplacez pas une version fusionnée ou non fusionnée existante sauf si l'utilisateur demande explicitement de l'écraser ou de la supprimer.

Notes d'exécution

  • Utilisez des transcriptions spécifiques à la source afin que les timestamps soient réinitialisés à zéro pour chaque clip de sortie.
  • Préférez un découpage précis avec FFmpeg et h264_nvenc lorsque pris en charge. Revenez à libx264 plutôt que de sauter silencieusement les limites précises.
  • Préservez le libellé du cours dans le Markdown ; ne normalisez que les noms de fichiers et les étiquettes administratives.
  • Arrêtez-vous en cas de sources manquantes, de timestamps invalides, de médias de zéro octet ou de divergences de comptage inexpliquées. Ne réessayez que les fichiers en échec.
  • Pour les lots importants, signalez une progression concrète après les étapes de téléchargement, transcription, rendu et téléversement.

Lisez references/workflow.md avant d'exécuter le pipeline complet. Lisez references/course-adapters.md lors du choix de la politique de découpage. Lisez references/manifest-upload.md lors de la construction des manifestes, listes Markdown, téléversements, vérifications ou nettoyage.

Skills associés