Communitygithub.com

openvidstudio — produit réel → coupe launch

Pipeline MCP open-source : capture réelle (browser/desktop/mobile/terminal) → beats → Remotion cinématique. Rien de généré. README avec brand/demo.gif.

Qu'est-ce que openvidstudio — produit réel → coupe launch ?

Launch Video étape 1 : MCP+Playwright capture l'app réelle → Remotion. README demo.gif.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add AnayDhawan/openvidstudio

Demander à votre IA préférée

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

Documentation

bgmusic

Trouvez une bande-son musicale réelle pour votre vidéo, à partir de catalogues du domaine public, sans télécharger une bibliothèque ni devoir une ligne de crédit à quiconque.

Quand les sons intégrés suffisent

public/sfx/ contient déjà deux bandes-son et aucune ne nécessite de requête :

  • music-bed.mp3, un drone ambiant de 60s. Parfait pour une courte démonstration technique.
  • pulse-bed.mp3, 112 bpm avec une grille de repères exacte dans pulse-bed.cues.json. Le seul morceau où les coupes synchronisées sur le rythme sont exactes plutôt qu'estimées, car il a été synthétisé plutôt qu'analysé.

Utilisez-les lorsque la vidéo est courte, axée sur la narration, ou que la musique doit simplement ne pas être le silence. Cherchez ailleurs lorsque la vidéo est un lancement ou une promotion et que la bande-son porte l'ambiance.

Les deux catalogues

SourceContenuTaille
lofibtahir/open-lofi, 166 morceaux lo-fi dans 10 catégories~3 Mo par morceau
cc0SoundSafari/CC0-1.0-Music, ~9200 morceaux provenant de freepd, chosic, Free Music Archive, freesound et Pixabay2-15 Mo par morceau

Les deux sont sous licence CC0-1.0. Domaine public, utilisation commerciale autorisée, aucune attribution requise, rien pour la description de la vidéo. C'est pourquoi ces deux-là sont intégrés alors que plan_sound_effects envoie toujours l'utilisateur vers Pixabay manuellement pour les effets sonores.

Une mise en garde qu'il vaut la peine d'énoncer clairement : le corpus est agrégé par la communauté et fonctionne sur des demandes de retrait, donc sa revendication CC0 par morceau est celle du mainteneur, pas une licence que vous avez lue. Pour une vidéo promotionnelle, cela convient et le fichier de provenance enregistre la source. Là où une licence erronée serait coûteuse, restez sur lofi, qui est un auteur, une publication, une déclaration de licence.

Le flux

find_music_bed -> [l'utilisateur auditionne] -> import_music_bed -> plan_music_cues -> stitch_composition

1. find_music_bed

Interrogez avec des mots d'ambiance ou de scène : "calme concentration codage", "nuit néon tardive", "chaud entraînant". Les titres et les catégories sont ce qui est mis en correspondance.

Le premier appel construit un index, environ sept appels à l'API GitHub, mis en cache dans output/music-index.json. Les recherches ultérieures sont une lecture locale. Passez refresh: true uniquement après la publication d'une nouvelle version par un catalogue.

Les catégories lofi sont des métadonnées réelles, donc category: "ambient-lofi" fonctionne. Les morceaux du corpus n'en ont pas : un morceau est un nom de fichier dans un dossier nommé d'après le site dont il provient. Lorsque rien ne correspond, l'outil renvoie un échantillon simple et définit matchedQuery: false. C'est un signal pour essayer un mot qu'un compositeur mettrait réellement dans un titre, pas pour abandonner.

Laissez l'utilisateur choisir. Renvoyez trois à cinq candidats avec leurs titres et catégories. La musique est une question de goût, et une bande-son inadaptée est plus visible qu'une mauvaise police.

2. import_music_bed

import_music_bed(id: "lofi:terminal-rain", out: "public/audio/music-bed.mp3", seconds: 45, start: 12)

Ce qu'il fait au-delà du téléchargement : il rogne seconds à partir de start, fond en entrée et en sortie, et normalise à -20 LUFS afin que la bande-son se place sous la narration au lieu de la combattre. Passez raw: true pour ignorer tout cela et conserver le morceau tel que publié.

Où le placer :

  • public/audio/music-bed.mp3 pour la bande-son de la composition. stitch_composition attache ce chemin automatiquement, donc rien d'autre ne doit changer.
  • public/imported_audios/ (par défaut) pour tout le reste, qui est le dossier contenant le matériel qui ne provient pas du pack intégré.

Il écrit <file>.source.json et une ligne MUSIC-SOURCES.md à côté du morceau : id, titre, référentiel source, licence, date. CC0 n'exige rien de tout cela. C'est pour qu'un an plus tard, la provenance d'une bande-son soit une lecture de fichier plutôt qu'une supposition.

Sautez au milieu d'un morceau avec start. Les intros sont généralement la partie la moins utile, et une bande-son qui s'ouvre sur un temps fort n'a pas besoin de montage pour sembler délibérée.

3. plan_music_cues

Appelez-le sur le fichier importé. Pour tout morceau qui n'est pas pulse-bed.mp3, la grille est estimée à partir d'une enveloppe d'attaques, donc traitez-la comme un guide de planification : accrochez une poignée de révélations majeures sur strongCues, pas chaque coupe. docs/STYLE.md contient les tolérances.

Coûts et limites

  • Rien n'est vendu. open-lofi publie ses morceaux uniquement dans une archive zip de 554 Mo, donc une importation lit le répertoire central de ce zip via des requêtes HTTP range et extrait uniquement les octets du membre choisi. Les 554 Mo ne sont jamais téléchargés.
  • Le formatage d'une bande-son nécessite ffmpeg dans le PATH. raw: true ne le nécessite pas.
  • La limite de l'API GitHub non authentifiée est de 60 requêtes par heure. Une construction d'index en utilise environ sept. Définissez GITHUB_TOKEN sur une machine qui le reconstruit souvent.
  • Le cache d'index se trouve dans output/, qu'un projet échafaudé ignore déjà via gitignore.

Ce qu'il ne faut pas faire

  • Ne committez pas un catalogue entier dans un projet. Une bande-son par vidéo est l'unité ici.
  • Ne placez pas un morceau dans public/sfx/. Ce dossier est le pack qui est livré avec le package, et public/sfx/CREDITS.md indique ce qu'il contient et pourquoi il n'a pas de conditions.
  • N'utilisez pas ceci pour les effets sonores. plan_sound_effects vérifie d'abord le pack intégré et ne cherche ensuite qu'ensuite, ce qui est le bon ordre pour les effets.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Skills associés