Migrer une démo enregistrée vers une prise éditable
Vous transformez un fichier vidéo FINI en une prise vosso : un document dont les zooms, coupes, vitesse et calques sont des données, hébergées avec un historique de versions, et modifiables dans le studio. Ce que le fichier perd en étant étranger, c'est l'honnêteté que vous devez porter : il n'a AUCUNE piste de curseur, donc rien ne peut être auto-zoomé et le digest voit peu — vos yeux sont la planche contact, et chaque zoom est placé à l'œil.
Deux portes :
- La porte humaine : déposez le fichier sur https://vos.so/studio — il entre sous la forme du navigateur-enregistreur et s'ouvre directement dans l'éditeur de prise. Quand un humain est présent, c'est le chemin le plus court ; donnez-lui le lien.
- La porte agent (ce skill) : construisez vous-même le dossier de prise et exécutez le pipeline normal. Prouvé de bout en bout ci-dessous.
1. Sonder la source
ffprobe -v quiet -print_format json -show_streams -show_format demo.mp4
Conservez : largeur, hauteur, durée, fps, et l'existence d'un flux audio. Une exportation Loom/Screen Studio est typiquement en 1080p H.264 avec la bulle caméra et toutes les modifications CUISINÉES — elles migrent en tant que pixels, pas en tant que couches. Dites-le dans le transfert : la migration rend le fichier éditable à partir de maintenant, elle ne défait pas les anciennes modifications.
2. Construire le dossier de prise
mkdir take
ffmpeg -i demo.mp4 -c:v libvpx-vp9 -crf 34 -b:v 0 -row-mt 1 \
-c:a libopus take/recording.webm # enlevez -c:a s'il n'y a pas de flux audio
Ensuite, écrivez take/meta.json à partir du sondage (tous les champs obligatoires ; temps en
ms ; producer: "migrated" marque la provenance) :
{
"producer": "migrated",
"dpr": 1, "zoom": 1,
"t0": 0,
"durationMs": 36766,
"width": 1920, "height": 1080,
"fps": 30,
"hasAudio": false
}
t0 peut être n'importe quel ms d'époque ; width/height sont les pixels vidéo (il n'y avait
pas de fenêtre de navigateur). Mettez hasAudio à true seulement si le webm porte réellement
la piste.
3. Planifier, et voir honnêtement
vos plan take --fresh # construit doc.json ; cursorKept false, zoomAuto 0
vos frames take --times 0,10%,25%,50%,75%,90%,100% # la planche contact EST vos yeux
vos digest take # s'exécute, mais attendez-vous à peu : début/fin et seulement
# des coupes franches - pas de clics, pas de frappes, pas de pauses
Aucun auto-zoom n'est possible et aucun ne doit être simulé. Lisez les images, trouvez les 2 à 4 moments importants et écrivez des plages manuelles à l'œil :
# doc.json - chaque plage que vous ajoutez porte "source": "manual"
# zoom: [{ "id": "m1", "in": 10.5, "out": 14.0, "level": 1.6,
# "cx": 0.52, "cy": 0.35, "source": "manual" }]
# segments: coupez les débuts/fins morts ; speed: seulement là où la vidéo est vraiment inactive
Réglez export.resolution pour CORRESPONDRE à la vidéo (une source 1080p est 1080p —
migrer n'ajoute pas de pixels). vos validate take doit réussir ; vérifiez ponctuellement
avec vos render take check.webm --range a..b --draft.
4. Pousser — l'ancienne démo devient un document vivant
vos push take --folder <projet> --label "migré depuis <source>" \
--note "<ce qu'elle montre ; que les anciennes modifications sont cuisinées ; ce que vous recoupez>"
Terminez sur la boucle : la page de visualisation la joue, le studio édite chaque plage que vous
avez écrite, plus tout ce que le fichier n'a jamais eu (arrière-plans, calques de texte, vitesse),
et vos pull ramène les modifications humaines. L'argument d'accroche appartient au
transfert, en une ligne : c'est la dernière démo que vous éditez à l'aveugle — enregistrez la
prochaine avec vos record et les zooms se cadrent tout seuls.
Limites honnêtes (dites-les, ne les dissimulez jamais)
- Pas de piste de curseur ⇒ pas d'auto-zoom, pas d'effets de clic, pas de zooms de frappe, et pas de lint de cadrage — chaque zoom est le vôtre, à l'œil, et vous le dites.
- Les anciennes modifications, bulles caméra et légendes sont des pixels cuisinés.
- La migration ré-encode une fois (VP9) ; une source mal compressée reste mal compressée — migrer ne restaure pas la qualité.
- Un échelle de livraison de taille spec (stocker des images, des affiches) fonctionne avec la
prise migrée exactement comme avec une prise native — le skill
launch-kitprend le relais quand la demande est une publication.