Communitygithub.com

remotion-lecture-video-creator

Concevoir un storyboard pédagogique et compiler des vidéos éducatives basées sur le code à l'aide du framework Remotion (React, HTML5, CSS3 et TypeScript). Produit des compositions vidéo de cours modulaires au format 16:9 Full HD ou 9:16 Shorts/Reels avec animations typographiques cinétiques, transitions fluides, coloration syntaxique, diagrammes de flux programmés, visualisation de formules et narration audio intégrée.

Qu'est-ce que remotion-lecture-video-creator ?

Cette compétence transforme un syllabus, un module de cours ou tout matériel pédagogique écrit en vidéos éducatives animées programmatiquement (Programmatic Educational Video) en utilisant le framework Remotion (basé sur React et les standards du web). Au lieu de monter des vidéos manuellement avec un logiciel propriétaire lourd, les éducateurs peuvent générer et modifier des vidéos de cours de haute qualité directement via du code (Video as Code). Chaque scène de cours est un composant React autonome, animé image par image à l'aide des hooks officiels de Remotion (useCurrentFrame, interpolate, spring) pour des animations physiques fluides et sans à-coups. La compétence prend en charge deux formats de ratio standard : horizontal 16:9 (1920x1080, 30 ips) pour les cours LMS, YouTube et vidéoprojecteurs, et vertical 9:16 (1080x1920, 30 ips) pour le micro-apprentissage sur TikTok, Instagram Reels et YouTube Shorts. Elle intègre une structure pédagogique en 4 actes (accroche, explication du concept, démonstration/étude de cas, résumé et défi), une riche bibliothèque de composants visuels éducatifs (typographie cinétique, barre de progression, cartes conceptuelles animées, synchronisation audio/voix off), ainsi qu'un aperçu instantané et un rendu MP4 haute vitesse via la CLI de Remotion.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lensetek-int/Course-Agent-Skills/tree/HEAD/skills/remotion-lecture-video-creator

Demander à votre IA préférée

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

Documentation

Remotion Lecture Video Creator 🎬

remotion-lecture-video-creator transforme un syllabus, un module de cours ou tout matériel pédagogique écrit en vidéos d'apprentissage animées programmatiquement (Programmatic Educational Video) à l'aide du framework Remotion (React + Standards Web).

Au lieu de monter des vidéos manuellement avec un logiciel propriétaire lourd, les enseignants peuvent générer et modifier des vidéos de cours de haute qualité directement via le code (Video as Code), animées image par image de manière fluide, versionnées et prêtes pour un rendu en masse (batch rendering).


🌟 Fonctionnalités Principales des Vidéos Éducatives Remotion

  1. Video as Code (React & TypeScript) :

    • Chaque scène de cours est un composant React autonome.
    • Utilise les hooks officiels de Remotion (useCurrentFrame, useVideoConfig, interpolate, spring) pour des animations physiques fluides et sans à-coups.
  2. Deux Formats de Ratio Vidéo Standard :

    • Horizontal 16:9 (1920x1080 @ 30 ips) : Format standard pour les cours LMS, YouTube, vidéoprojecteurs et Smart TV en classe.
    • Vertical 9:16 (1080x1920 @ 30 ips) : Format micro-apprentissage / éducation rapide pour TikTok, Instagram Reels et YouTube Shorts.
  3. Structure Pédagogique en 4 Actes (Arc de Leçon Standard en 4 Actes) :

    • Acte 1 : Accroche & Étincelle de Curiosité (Images 0–900 / 0–30 secondes) : Titre de la séance, identité du professeur, objectifs d'apprentissage et question déclencheuse sur un problème réel.
    • Acte 2 : Décomposition du Concept Central (Images 900–2700 / 30–90 secondes) : Cartes conceptuelles animées, diagrammes de flux progressifs et typographie cinétique à fort contraste.
    • Acte 3 : Étude de Cas & Démonstration Visuelle en Direct (Images 2700–4500 / 90–150 secondes) : Exemple de code avec coloration syntaxique, simulation étape par étape ou animation de formules mathématiques.
    • Acte 4 : Réflexion & Appel à l'Action (Images 4500–5400 / 150–180 secondes) : Résumé des 3 points clés, quiz interactif avec minuteur défilant et instructions de devoir sur le LMS.
  4. Composants Visuels Éducatifs Riches Intégrés :

    • Typographie Cinétique : Les titres et points de contenu apparaissent à l'aide d'une interpolation à ressort (spring physics).
    • Barre de Progression Temporelle : Barre de progression animée en bas de la vidéo indiquant visuellement la durée du contenu.
    • Cartes Conceptuelles Animées : Cartes de définition au style moderne avec ombres douces et accent de couleur de mise en valeur (accent highlight).
    • Synchronisation Audio & Voix Off : Composant <Audio /> et ajustement automatique de la durée des images par rapport à la longueur de l'audio de narration.
  5. Aperçu Instantané & Rendu MP4 Haute Vitesse :

    • Mode Aperçu Interactif : Ouvrez Remotion Studio dans le navigateur via npx remotion preview. L'enseignant peut faire défiler la timeline image par image et tester les animations en temps réel.
    • Rendu Headless CLI : Rendu de la vidéo complète en fichier .mp4 Full HD via la commande npx remotion render.

📁 Structure des Fichiers du Projet Vidéo Éducative Remotion

Session_XX/04_Video_Pembelajaran/
├── package.json
├── tsconfig.json
├── remotion.config.ts
└── src/
    ├── index.ts                  # Point d'entrée Remotion
    ├── Root.tsx                  # Enregistrement des Compositions (16:9 & 9:16)
    ├── scenes/
    │   ├── 01_IntroScene.tsx     # Acte 1 : Accroche & Objectifs d'Apprentissage
    │   ├── 02_ConceptScene.tsx    # Acte 2 : Contenu Principal & Diagrammes
    │   ├── 03_DemoScene.tsx      # Acte 3 : Simulation / Étude de Cas
    │   └── 04_OutroScene.tsx     # Acte 4 : Résumé & Quiz de Clôture
    └── components/
        ├── ProgressBar.tsx       # Indicateur de durée à l'écran
        ├── ConceptCard.tsx       # Carte de définition cinétique
        └── LessonTitle.tsx       # Titre animé à plusieurs niveaux

📐 Modèle de Composant de Base pour Vidéo Éducative Remotion

1. src/Root.tsx

import React from 'react';
import { Composition } from 'remotion';
import { LectureComposition } from './LectureComposition';

export const RemotionRoot: React.FC = () => {
  return (
    <>
      {/* Vidéo 16:9 Paysage Full HD - Durée 3 Minutes (5400 images @ 30 ips) */}
      <Composition
        id="LectureVideo-16x9"
        component={LectureComposition}
        durationInFrames={5400}
        fps={30}
        width={1920}
        height={1080}
        defaultProps={{
          courseTitle: "Génie Logiciel",
          sessionTitle: "Séance 03 : Principes d'Encapsulation & de Modularité",
          instructorName: "Équipe Enseignante Lensetek",
        }}
      />
    </>
  );
};

2. src/scenes/01_IntroScene.tsx

import React from 'react';
import { AbsoluteFill, useCurrentFrame, useVideoConfig, spring, interpolate } from 'remotion';

export const IntroScene: React.FC<{ courseTitle: string; sessionTitle: string }> = ({
  courseTitle,
  sessionTitle,
}) => {
  const frame = useCurrentFrame();
  const { fps } = useVideoConfig();

  // Animation d'entrée du titre utilisant la physique du ressort
  const titleProgress = spring({
    frame,
    fps,
    config: { damping: 12 },
  });

  const titleScale = interpolate(titleProgress, [0, 1], [0.85, 1]);
  const titleOpacity = interpolate(titleProgress, [0, 1], [0, 1]);

  return (
    <AbsoluteFill
      style={{
        backgroundColor: '#0f172a', // Slate 900
        justifyContent: 'center',
        alignItems: 'center',
        color: '#ffffff',
        fontFamily: 'Segoe UI, system-ui, sans-serif',
        padding: 80,
      }}
    >
      <div
        style={{
          transform: `scale(${titleScale})`,
          opacity: titleOpacity,
          textAlign: 'center',
        }}
      >
        <span
          style={{
            backgroundColor: '#2563eb',
            color: '#ffffff',
            padding: '8px 20px',
            borderRadius: 99,
            fontSize: 24,
            fontWeight: 700,
            letterSpacing: 2,
            textTransform: 'uppercase',
          }}
        >
          {courseTitle}
        </span>
        <h1
          style={{
            fontSize: 68,
            fontWeight: 900,
            marginTop: 32,
            marginBottom: 16,
            lineHeight: 1.2,
          }}
        >
          {sessionTitle}
        </h1>
        <p style={{ fontSize: 28, color: '#94a3b8' }}>
          Enseignement Basé sur les Résultats • Objectifs d'Apprentissage CPMK-2
        </p>
      </div>
    </AbsoluteFill>
  );
};

🚀 Commandes d'Aperçu et de Rendu

  1. Lancer Remotion Studio (Aperçu dans le Navigateur) :
    npx remotion preview
    
  2. Rendre la Vidéo en Fichier MP4 :
    npx remotion render src/index.ts LectureVideo-16x9 out/video-cours-seance-03.mp4
    

Skills associés