Communitygithub.com

yunjundai/video-editing-skills

Utilisez Remotion, FFmpeg, Shotcut et la reconnaissance vocale CPU pour monter des vidéos et photos existantes sur des ordinateurs sans carte graphique dédiée ou aux ressources limitées. Créez des sous-titres traditionnels, des génériques, des bandeaux nominatifs et des transitions, tout en conservant des projets modifiables. Idéal pour les événements scolaires, les interviews et les vidéos souvenirs ; pour les projets natifs DaVinci Resolve, utilisez la compétence de montage correspondante.

Qu'est-ce que video-editing-skills ?

Cette compétence permet aux agents IA de réaliser un montage vidéo complet sur des machines sans GPU dédié (CUDA, NVENC) ou avec des ressources limitées. Elle utilise Remotion pour l'animation et l'assemblage, FFmpeg pour le traitement audio/vidéo et Shotcut pour le peaufinage. La reconnaissance vocale s'effectue en local grâce à faster-whisper en mode CPU/int8, et la conversion des sous-titres en caractères traditionnels utilise OpenCC. La compétence est conçue pour être indépendante de tout service cloud, effet payant ou logiciel spécifique comme DaVinci Resolve, bien qu'elle puisse coexister avec d'autres compétences de montage. Elle prend en charge les formats 16:9, 1080p à 30 ips, et propose des scripts pour l'initialisation de projet, le transcodage de proxy, la transcription et la génération de projets Shotcut. Tous les chemins d'outils et modèles sont configurables via un fichier JSON, et la compétence insiste sur l'utilisation de chemins absolus et de paramètres de ligne de commande adaptés aux noms de fichiers en chinois. Elle conserve les projets Remotion et Shotcut modifiables pour des ajustements ultérieurs, et livre les fichiers finaux au format MP4 avec sous-titres SRT, vignette et les sources de projet.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yunjundai/video-editing-skills/tree/HEAD/cpu-video-editing

Demander à votre IA préférée

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

Documentation

Montage vidéo sans GPU dédié

Lorsque d'autres agents IA utilisent, installent ou encapsulent cette compétence, lisez d'abord agent-compatibility.md et traitez le répertoire de compétences et les paramètres locaux en fonction de la plateforme cible.

Utilisez Remotion localement pour l'animation et l'assemblage, FFmpeg pour le traitement audio/vidéo et Shotcut pour le peaufinage ; les sous-titres utilisent faster-whisper en mode CPU/int8 et OpenCC. Par défaut, ne dépend pas de GPU dédié, CUDA, NVENC, DaVinci Resolve, de rendu cloud ou d'effets payants. Utilisez le style et le format de livraison spécifiés par l'utilisateur.

Environnement et ressources

Lors de la première utilisation, copiez local-environment.example.json en references/local-environment.json et renseignez les chemins réels des outils ; les chemins d'exemple ne signifient pas que les outils sont installés.

  • Lisez d'abord references/local-environment.json, utilisez les chemins absolus des outils qu'il contient. Exécutez scripts/project.py doctor pour cette compétence ; les sous-titres utilisent le Python du venv dédié. doctor ne demande pas CUDA ou Resolve, il vérifie seulement que Shotcut existe en tant que programme, ce qui ne valide pas l'interface graphique.
  • Cette compétence contient des scripts, des modèles Remotion et des fichiers de verrouillage des dépendances. Elle est autonome et peut être utilisée indépendamment des autres compétences de montage ; les emplacements des outils locaux et des modèles sont spécifiés par le fichier de configuration. Lors du déplacement sur un autre ordinateur, lisez environment-notes.md, reconstruisez les dépendances manquantes, modifiez les chemins, puis testez réellement. Ne présumez pas que l'autre machine a déjà installé les outils.
  • Par défaut : 16:9, 1920×1080, 30 ips ; commencez par un aperçu en demi-taille. Remotion utilise par défaut un seul job, le backend graphique logiciel SwiftShader et l'encodage logiciel H.264 ; ne passez pas automatiquement en CUDA. Si la mémoire est suffisante, utilisez --concurrency 2, sinon gardez 1.
  • Les tâches sont exécutées séquentiellement, ne lancez pas simultanément le rendu complet, la reconnaissance vocale et la conversion de proxy. En cas de mémoire insuffisante, réduisez d'abord la taille de l'aperçu, utilisez des proxies ou divisez en segments ; les segments doivent conserver les mêmes spécifications audio/vidéo et des timings de sous-titres corrects, et vérifiez les raccords.
  • 16 Go de RAM sont recommandés, 32 Go offrent plus de confort, utilisez un SSD. Ce sont des recommandations de travail, non une garantie de bon fonctionnement sur tous les ordinateurs ; ne calculez pas la vitesse de sortie non mesurée en fonction du nombre de cœurs ou de la durée de la vidéo.

Média et montage

  1. Si les exigences sont incomplètes, déterminez d'abord la durée, le format et la narration à partir des médias existants ; ne demandez que si l'absence d'information affecte le résultat final. Si l'emplacement des médias est inconnu, commencez par inventorier le répertoire de travail. Conservez les fichiers originaux ; placez les fichiers dérivés dans un nouveau dossier de travail.
  2. Lisez media-commands.md, utilisez scripts/media.py inventory pour créer une liste de durées, formats, pistes audio et vignettes. Regardez les images représentatives, écoutez les voix, lisez la transcription avant de sélectionner les segments ; ne prenez pas les coupes candidates ou les suppositions pour des faits confirmés.
  3. En cas de vidéo 4K, de débit élevé ou de ralentissements lors de l'aperçu, utilisez media.py proxy --width 960 pour générer un fichier proxy H.264/AAC. Enregistrez la correspondance entre le proxy et l'original ; l'aperçu peut utiliser le proxy ; avant la sortie finale, restaurez les originaux et revérifiez les zones de recadrage et la synchronisation. Ne livrez pas le proxy comme qualité originale.
  4. Lisez project-commands.md, utilisez scripts/project.py init pour créer un nouveau projet Remotion. Copiez les médias sélectionnés dans public/media/, éditez public/project.json ; les spécifications des données se trouvent dans motion-template.md. Le modèle prend en charge : générique, chapitres, zoom avant sur les photos, séquences vidéo, citations, générique de fin, sous-titres et bandeaux nominatifs.
  5. Vérifiez d'abord le point d'entrée et la durée de la vidéo avec ffprobe. Privilégiez les fondus en entrée/sortie, les fondus enchaînés simples, les zooms avant lents sur les photos et les animations de texte courtes ; évitez par défaut les effets de flou, particules, 3D ou multicouches haute résolution. Si la qualité est insuffisante, ajustez la conception plutôt que de forcer un texte trop petit.
  6. Faites d'abord un petit aperçu et des images statiques pour confirmer le style et la lisibilité, puis produisez la vidéo complète. Utilisez project.py render --scale 0.5 pour l'aperçu, la livraison finale se fait en pleine taille. Les commandes spécifiques suivent les références de cette compétence et --help des scripts, utilisez des chemins absolus et des tableaux de paramètres pour gérer les chemins en chinois et avec espaces.

Sous-titres traditionnels et audio

  • scripts/transcribe.py passe explicitement --device cpu --compute-type int8 --model chemin_du_modèle_local --local-files-only, en utilisant le modèle small déjà téléchargé. En cas d'échec de reconnaissance, vérifiez d'abord le venv, le modèle et les paquets compatibles ; n'exigez pas l'installation de CUDA en raison de la lenteur.
  • Effectuez la reconnaissance sur la piste vocale après montage, ou recalculez chaque segment de sous-titres en fonction des coupes et des transitions sur la timeline finale ; n'appliquez pas directement les timings de la source. Évitez de générer des sous-titres à partir d'une musique pure.
  • OpenCC aide uniquement à convertir en caractères traditionnels ; les noms d'école, noms de personnes, titres, dates, homophones et taïwanais nécessitent une relecture. Si la reconnaissance est incertaine, conservez un marqueur à vérifier, n'inventez pas.
  • Les captions du captions.json peuvent être intégrés dans project.json. La mise en surbrillance mot par mot nécessite de vérifier les timings des mots et la cohérence entre la phrase complète et les sous-titres ; s'il n'y a que des timings de phrases, affichez la phrase entière.
  • Les sous-titres et bandeaux nominatifs respectent une marge de sécurité et ne se masquent pas mutuellement ; réduisez la musique pour que la voix soit claire, vérifiez que les transitions ne chevauchent pas deux pistes vocales. Conservez les SRT et les sources vocales non mixées pour faciliter les corrections.

Peaufinage avec Shotcut et livraison

  • project.py shotcut video_finale.mp4 --output nouvelle_version.mlt crée un point de départ pour le peaufinage dans Shotcut, contenant les segments vidéo rendus, permettant d'ajuster le montage, la musique et les niveaux sonores. Shotcut utilise des effets CPU classiques et une sortie logicielle ; si nécessaire, réduisez la mise à l'échelle de l'aperçu et activez les proxies. Ne demandez pas à l'utilisateur d'activer l'encodage matériel.
  • Le texte, les sous-titres et les transitions de Remotion sont intégrés dans le segment vidéo, ce ne sont pas des calques de texte natifs de Shotcut. Pour modifier le texte ou les animations, revenez au projet Remotion et réexportez ; n'affirmez pas que le MLT permet de modifier ces effets mot par mot. Si des calques séparés ou du texte natif sont demandés, créez-les et vérifiez-les réellement.
  • Utilisez media.py check pour décoder complètement et vérifier les images noires, le silence et les erreurs, puis vérifiez manuellement le générique, le milieu des transitions, les sous-titres les plus longs, les bandeaux nominatifs et le générique de fin, écoutez la voix/la musique et la synchronisation. Les images noires et le silence peuvent être intentionnels, à interpréter.
  • Livrez : MP4, vignette, projet Remotion et médias, project.json, SRT, ainsi que le MLT Shotcut réellement créé et la méthode de modification. Exportez une nouvelle version, n'écrasez pas silencieusement un fichier existant ; ne modifiez pas les sources ou les node_modules partagés.
  • Avant de livrer le MLT, chargez-le réellement avec Shotcut ou ses outils MLT ; si seuls les formats XML sont validés, expliquez clairement que le chargement dans l'éditeur n'a pas été vérifié. Les fonctionnalités non testées ne doivent pas être déclarées réussies.
  • Un MP4 H.264 normal ne conserve pas la transparence. Si une animation transparente est demandée, créez une composition transparente dédiée et testez avec une séquence d'images RGBA PNG ou un encodage alpha compatible.

À la fin, indiquez l'emplacement des fichiers, les paramètres de sortie testés, la portée des modifications, les sous-titres à relire et les éléments non encore validés. Les licences des outils sont soumises aux conditions de chaque logiciel ; les quotas de compte de l'agent IA sont en sus.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés