
Rendervid Template System - JSON Skabeloner, Variabler, Animationer & Overgange
Komplet guide til Rendervid template systemet. Lær hvordan du opretter JSON video skabeloner, bruger dynamiske variabler med {{variable}} syntaks, konfigurerer ...

Udforsk alle Rendervid komponenter: 8 indbyggede lagtyper (tekst, billede, video, form, lyd, gruppe, lottie, tilpasset), færdigbyggede React komponenter, den visuelle skabeloneditor og videoafspilleren. Opret tilpassede komponenter med fuld React support.
Rendervid er bygget på en komponentbaseret arkitektur, der gør videooprettelse modulær, udvidelig og udviklervenlig. Hvert element i en Rendervid skabelon er et lag, og hvert lag har en specifik type, der bestemmer hvordan det renderes. Med 8 indbyggede lagtyper, et voksende bibliotek af færdigbyggede React komponenter, en visuel skabeloneditor og en selvstændig afspiller, giver Rendervid dig alt hvad du behøver for at producere professionelt videoindhold programmatisk.
Denne side dækker hele komponentøkosystemet: fra primitive lagtyper som tekst og form, gennem lyd- og videoafspilning, til fuldt tilpassede React komponenter der åbner ubegrænsede kreative muligheder. Uanset om du bygger et simpelt titelkort eller en kompleks datadrevet animation, er forståelse af disse komponenter fundamentet.
Hvert lag i en Rendervid skabelon er defineret som et JSON objekt med et type felt. Typen bestemmer de tilgængelige egenskaber og renderingsadfærd. Nedenfor er en detaljeret reference for hver af de 8 indbyggede lagtyper.
text laget er den mest funktionsrige primitiv i Rendervid. Det renderer styliseret tekst med fuld kontrol over typografi, justering, farve, effekter og animation.
Typografi egenskaber:
| Egenskab | Beskrivelse | Eksempel |
|---|---|---|
fontSize | Skriftstørrelse i pixels | 48 |
fontFamily | Skrifttypefamilienavn | "Inter" |
fontWeight | Vægt fra 100 til 900 | 700 |
fontStyle | Normal eller italic | "italic" |
Rendervid leveres med 100+ Google Fonts indbygget. Du kan bruge enhver af dem ved at specificere fontFamily egenskaben uden at skulle indlæse eksterne stylesheets.
Justeringsegenskaber:
| Egenskab | Værdier | Standard |
|---|---|---|
textAlign | left, center, right, justify | left |
verticalAlign | top, middle, bottom | top |
Styling og effekter:
color og backgroundColor til basal farvningtextShadow til skyggeeffektertextStroke til kontureret teksttextDecoration til understreget, gennemstregettextTransform til store bogstaver, små bogstaver, stort begyndelsesbogstavmaxLines med automatisk ellipse afkortning{
"type": "text",
"text": "Velkommen til Rendervid",
"x": 100,
"y": 200,
"width": 800,
"height": 100,
"fontSize": 64,
"fontFamily": "Montserrat",
"fontWeight": 700,
"color": "#FFFFFF",
"textAlign": "center",
"verticalAlign": "middle",
"textShadow": "2px 2px 8px rgba(0,0,0,0.5)"
}
For avancerede tekstanimationer som skrivemaskineeffekten, kombiner tekstlaget med keyframe animationer eller brug den dedikerede TypewriterEffect komponent .
image laget viser raster- og vektorbilleder med fleksible størrelses- og beskæringsmuligheder.
Nøgleegenskaber:
| Egenskab | Beskrivelse | Værdier |
|---|---|---|
source | URL til billedfilen | Enhver gyldig URL |
fit | Hvordan billedet udfylder sine grænser | cover, contain, fill, none |
position | Beskæringsankerpunkt | CSS-stil object-position, f.eks. "center top" |
Understøttede formater: PNG, JPEG, WebP, SVG, GIF
{
"type": "image",
"source": "https://example.com/hero-banner.png",
"x": 0,
"y": 0,
"width": 1920,
"height": 1080,
"fit": "cover",
"position": "center center"
}
fit egenskaben fungerer som CSS object-fit:
video laget indlejrer videoklip i din komposition med fuld afspilningskontrol.
Nøgleegenskaber:
| Egenskab | Beskrivelse | Standard |
|---|---|---|
source | URL til videofilen | påkrævet |
startTime | Forskydning ind i kildevideoen (sekunder) | 0 |
playbackRate | Hastighedsmultiplikator | 1 |
muted | Om lyden er dæmpet | false |
loop | Loop videoklippe | false |
{
"type": "video",
"source": "https://cdn.example.com/background-clip.mp4",
"x": 0,
"y": 0,
"width": 1920,
"height": 1080,
"startTime": 5.0,
"playbackRate": 1.0,
"muted": true,
"loop": true
}
Brug startTime til at springe introer over eller hoppe til et specifikt punkt i kildematerialet. Kombiner med playbackRate for slowmotion (0.5) eller timelapse (2.0) effekter.
shape laget tegner vektorformer med fyld, streger, gradienter og afrundede hjørner.
Formtyper:
| Type | Beskrivelse |
|---|---|
rectangle | Basal rektangel med valgfri borderRadius |
ellipse | Cirkel eller oval |
polygon | Regulær polygon med konfigurerbare sider |
star | Stjerneform med konfigurerbare punkter |
path | Tilpassede SVG stidata |
Stylingegenskaber:
fill – ensfarvet eller gradientstroke – kantfarvestrokeWidth – kanttykkelseborderRadius – afrundede hjørner til rektanglerlinear og radial gradientfyld{
"type": "shape",
"shapeType": "rectangle",
"x": 100,
"y": 100,
"width": 400,
"height": 300,
"borderRadius": 16,
"fill": {
"type": "linear",
"colors": ["#6366F1", "#8B5CF6"],
"angle": 135
},
"stroke": "#FFFFFF",
"strokeWidth": 2
}
For tilpassede former, brug path typen med standard SVG stidata:
{
"type": "shape",
"shapeType": "path",
"path": "M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80",
"fill": "#EC4899",
"stroke": "none"
}
audio laget tilføjer lydspor til din komposition med volumenkontrol, fading og en komplet effektkæde.
Nøgleegenskaber:
| Egenskab | Beskrivelse | Standard |
|---|---|---|
source | URL til lydfilen | påkrævet |
volume | Volumen niveau (0 til 1) | 1 |
fadeIn | Fade-in varighed i sekunder | 0 |
fadeOut | Fade-out varighed i sekunder | 0 |
Lyd effektkæde:
Rendervid inkluderer en indbygget effektbehandlingspipeline. Tilgængelige effekter:
{
"type": "audio",
"source": "https://cdn.example.com/background-music.mp3",
"volume": 0.7,
"fadeIn": 2.0,
"fadeOut": 3.0,
"effects": [
{ "type": "highpass", "frequency": 200 },
{ "type": "compressor", "threshold": -24, "ratio": 4 },
{ "type": "reverb", "wet": 0.3, "decay": 2.5 },
{ "type": "gain", "value": 0.8 }
],
"pan": -0.3
}
Effekterne behandles i rækkefølge, hvilket giver dig mulighed for at bygge sofistikerede lydbehandlingskæder. Brug pan værdier fra -1 (fuld venstre) til 1 (fuld højre) for stereopositionering.
group laget er en container der indeholder underordnede lag. Transformationer anvendt på gruppen påvirker alle børn, hvilket gør det nemt at flytte, skalere, rotere eller animere komplekse flerlagskompositioner som en enkelt enhed.
Nøgleegenskaber:
| Egenskab | Beskrivelse |
|---|---|
children | Array af underordnede lagobjekter |
{
"type": "group",
"x": 200,
"y": 150,
"rotation": 5,
"opacity": 0.9,
"children": [
{
"type": "shape",
"shapeType": "rectangle",
"x": 0,
"y": 0,
"width": 500,
"height": 300,
"fill": "#1E293B",
"borderRadius": 12
},
{
"type": "text",
"text": "Kort Titel",
"x": 24,
"y": 24,
"fontSize": 28,
"fontWeight": 600,
"color": "#F8FAFC"
},
{
"type": "text",
"text": "Understøttende beskrivelsestekst kommer her.",
"x": 24,
"y": 64,
"fontSize": 16,
"color": "#94A3B8"
}
]
}
Grupper er uvurderlige til at organisere komplekse skabeloner. Brug dem til at oprette genanvendelige kortlayouts, lower-thirds, overlays og andre sammensatte elementer. De underordnede koordinater er relative til gruppens position.
lottie laget renderer Lottie animationer eksporteret fra After Effects, Figma eller andre animationsværktøjer.
Nøgleegenskaber:
| Egenskab | Beskrivelse | Standard |
|---|---|---|
source | URL til Lottie JSON filen | påkrævet |
speed | Afspilningshastighedsmultiplikator | 1 |
direction | 1 for fremad, -1 for baglæns | 1 |
loop | Om animationen looper | false |
startFrame | Første frame der afspilles | 0 |
endFrame | Sidste frame der afspilles | sidste frame |
{
"type": "lottie",
"source": "https://cdn.example.com/loading-spinner.json",
"x": 860,
"y": 440,
"width": 200,
"height": 200,
"speed": 1.5,
"loop": true,
"startFrame": 0,
"endFrame": 60
}
Lottie lag er ideelle til at tilføje polerede bevægelsesgrafik, ikoner, indlæsningsindikatorer og brandede animationer uden at skrive frame-for-frame kode. startFrame og endFrame egenskaberne lader dig trimme animationen til kun at afspille et specifikt segment.
custom laget er den mest kraftfulde lagtype i Rendervid. Det lader dig skrive arbitrære React komponenter der renderer frame-for-frame, hvilket giver dig komplet kontrol over det visuelle output.
Der er tre implementeringstyper for tilpassede komponenter:
Indlejr JavaScript kode direkte i din JSON skabelon. Bedst til små, selvstændige komponenter.
{
"type": "custom",
"deployment": {
"type": "inline",
"code": "function Component({ frame, fps, sceneDuration, layerSize, props }) { const progress = frame / (fps * sceneDuration); const size = 50 + progress * 100; return React.createElement('div', { style: { width: size, height: size, borderRadius: '50%', backgroundColor: props.color || '#6366F1', display: 'flex', alignItems: 'center', justifyContent: 'center' } }); }"
},
"props": {
"color": "#EC4899"
}
}
Indlæs en komponent fra en ekstern URL såsom en CDN. Bedst til genanvendelige komponenter delt på tværs af skabeloner.
{
"type": "custom",
"deployment": {
"type": "url",
"url": "https://cdn.example.com/components/animated-counter.js"
},
"props": {
"startValue": 0,
"endValue": 1000,
"prefix": "$",
"color": "#10B981"
}
}
Brug en præ-registreret komponent ved navn. Bedst til komponenter fra @rendervid/components pakken eller tilpassede registre.
{
"type": "custom",
"deployment": {
"type": "reference",
"name": "AnimatedLineChart"
},
"props": {
"data": [10, 25, 40, 35, 60, 80, 72, 95],
"lineColor": "#6366F1",
"gradientOpacity": 0.3
}
}
Hver tilpasset komponent modtager et standardsæt af props:
| Prop | Type | Beskrivelse |
|---|---|---|
frame | number | Det aktuelle framenummer (0-indekseret) |
fps | number | Frames per sekund af kompositionen |
sceneDuration | number | Varighed af den aktuelle scene i sekunder |
layerSize | { width, height } | Pixeldimensioner af laget |
props | object | Eventuelle tilpassede props defineret i skabelonen |
Tilpassede komponenter understøtter også skemavalidering for props, hvilket sikrer at skabeloner overfører de korrekte datatyper og påkrævede felter til hver komponent.
@rendervid/components pakken leveres med et sæt produktionsklare komponenter du kan bruge med det samme i dine skabeloner.
Renderer animerede linjediagrammer med glatte gradientfyld, konfigurerbare datapunkter, aksemærkater og animerede indtegningseffekter. Ideel til datadrevet videoindhold som rapporter, dashboards og præsentationer.
Nøgle props: data, lineColor, gradientOpacity, strokeWidth, labels, animationStyle
Skaber en fascinerende nordlyseffekt (aurora borealis) ved hjælp af lagdelte gradienter og flydende bevægelse. Perfekt til atmosfæriske baggrunde, introsekvenser og ambient visuals.
Nøgle props: colors, speed, intensity, blur
Genererer flydende bølgeanimationer med konfigurerbare farver, amplituder og frekvenser. Brug den til stilfulde baggrunde, musikvisualisatorer eller hav-tematiseret indhold.
Nøgle props: waveCount, colors, amplitude, frequency, speed
Leverer 17 professionelle overgangstyper til bevægelse mellem scener. Inkluderer wipes, fades, zooms, slides og mere. Hver overgang er frame-nøjagtig og konfigurerbar.
Nøgle props: transitionType, duration, direction, easing
Renderer tegn-for-tegn tekstafsløring med en blinkende markør. Understøtter konfigurerbar skrivehastighed, markørstil og forsinkelse mellem ord. Fantastisk til kodedemoer, chatsimuleringer og dramatiske tekstafsløringer.
Nøgle props: text, typingSpeed, cursorChar, cursorBlinkRate, startDelay
At bygge dine egne tilpassede komponenter er hvor Rendervid virkelig skinner. Enhver visuel effekt du kan skabe med JavaScript og CSS kan blive en Rendervid komponent.
En Rendervid tilpasset komponent er en standard JavaScript funktion der modtager props og returnerer et React element. Nøgleforskellen fra typiske React komponenter er at rendering er frame-drevet snarere end event-drevet.
function MyComponent({ frame, fps, sceneDuration, layerSize, props }) {
// Beregn animationsfremskridt (0 til 1)
const totalFrames = fps * sceneDuration;
const progress = frame / totalFrames;
// Brug fremskridt til at drive animationer
const opacity = Math.min(progress * 2, 1);
const scale = 0.5 + progress * 0.5;
return React.createElement("div", {
style: {
width: layerSize.width,
height: layerSize.height,
opacity: opacity,
transform: `scale(${scale})`,
display: "flex",
alignItems: "center",
justifyContent: "center",
color: props.color || "#FFFFFF",
fontSize: props.fontSize || 48,
fontWeight: 700,
},
}, props.text || "Hej, Rendervid!");
}
Hver tilpasset komponent modtager disse standard props:
fps for samlet frameantal.width og height i pixels, matchende lagdimensionerne defineret i skabelonen.Da Rendervid komponenter kører i et renderingsmiljø, bruger de React.createElement() snarere end JSX. Mønsteret er ligetil:
// JSX ækvivalent: <div className="container"><span>Hej</span></div>
React.createElement("div", { className: "container" },
React.createElement("span", null, "Hej")
);
Du kan definere et skema for din komponents props for at validere data ved skabelonindlæsningstidspunktet:
MyComponent.schema = {
text: { type: "string", required: true },
color: { type: "string", default: "#FFFFFF" },
fontSize: { type: "number", default: 48, min: 8, max: 200 },
animate: { type: "boolean", default: true },
};
En partikelsystemkomponent der simulerer 150+ partikler med fysik:
function ParticleExplosion({ frame, fps, sceneDuration, layerSize, props }) {
const particleCount = props.particleCount || 150;
const gravity = props.gravity || 0.5;
const time = frame / fps;
const particles = [];
for (let i = 0; i < particleCount; i++) {
const angle = (i / particleCount) * Math.PI * 2;
const speed = 2 + Math.random() * 4;
const x = layerSize.width / 2 + Math.cos(angle) * speed * time * 60;
const y = layerSize.height / 2 + Math.sin(angle) * speed * time * 60
+ gravity * time * time * 100;
const opacity = Math.max(0, 1 - time / sceneDuration);
const size = 3 + Math.random() * 5;
particles.push(
React.createElement("div", {
key: i,
style: {
position: "absolute",
left: x,
top: y,
width: size,
height: size,
borderRadius: "50%",
backgroundColor: props.color || "#F59E0B",
opacity: opacity,
},
})
);
}
return React.createElement("div", {
style: {
position: "relative",
width: layerSize.width,
height: layerSize.height,
overflow: "hidden",
},
}, ...particles);
}
En talletællingsanimation der interpolerer mellem start- og slutværdier:
function AnimatedCounter({ frame, fps, sceneDuration, layerSize, props }) {
const progress = Math.min(frame / (fps * sceneDuration), 1);
const eased = 1 - Math.pow(1 - progress, 3); // ease-out cubic
const value = Math.round(
props.startValue + (props.endValue - props.startValue) * eased
);
const formatted = value.toLocaleString();
return React.createElement("div", {
style: {
width: layerSize.width,
height: layerSize.height,
display: "flex",
alignItems: "center",
justifyContent: "center",
fontSize: props.fontSize || 72,
fontWeight: 800,
color: props.color || "#FFFFFF",
fontFamily: "Inter, sans-serif",
},
}, (props.prefix || "") + formatted + (props.suffix || ""));
}
For mere om hvordan tilpassede komponenter passer ind i den bredere skabelonstruktur, se Template System dokumentationen .
@rendervid/editor pakken leverer en fuldt udstyret visuel skabeloneditor, der gør det muligt for både ikke-udviklere og udviklere at bygge Rendervid skabeloner uden at skrive JSON i hånden.
Editoren har en multi-track tidslinje hvor hvert lag er repræsenteret som en blok der kan trækkes, ændres i størrelse og ompositioneres. Juster starttider, varigheder og lagrækkefølge visuelt. Zoom ind for frame-niveau præcision eller zoom ud for et overordnet overblik.
Et dedikeret panel lister alle lag i kompositionen med træk-og-slip omordning, synlighedsskift, låsekontroller og gruppering. Tilføj nye lag fra en komponentpalet der inkluderer alle 8 indbyggede typer og eventuelle registrerede tilpassede komponenter.
Vælg et hvilket som helst lag for at se og redigere dets egenskaber i en struktureret formular. Egenskabspanelet tilpasser sig lagtypen og viser kun relevante felter. Farvevælgere, skydere, dropdowns og tekstinput gør det nemt at justere hver detalje. Ændringer afspejles øjeblikkeligt i forhåndsvisningen.
Hver ændring registreres i en historik stak med fuld fortryd og gentag support. Naviger gennem din redigeringshistorik selvsikkert, vel vidende at du altid kan vende tilbage til en tidligere tilstand.
Editoren inkluderer en indlejret Player komponent der renderer skabelonen i realtid mens du foretager ændringer. Forhåndsvis hele kompositionen på et hvilket som helst tidspunkt under redigering uden at skulle eksportere eller rendere.
@rendervid/player pakken leverer en selvstændig React komponent til forhåndsvisning af Rendervid skabeloner i browseren.
Installer og indlejr afspilleren i enhver React applikation:
import { Player } from "@rendervid/player";
function Preview({ template }) {
return (
<Player
template={template}
width={1920}
height={1080}
onComplete={() => console.log("Afspilning færdig")}
/>
);
}
Afspilleren understøtter indbyggede tastaturkontroller til effektiv forhåndsvisning:
| Genvej | Handling |
|---|---|
Mellemrum | Afspil / Pause |
Venstre Pil | Trin tilbage en frame |
Højre Pil | Trin fremad en frame |
M | Slå lyd fra / til |
Juster afspilningshastighed fra 0.25x (kvart hastighed) til 4x (firedobbelt hastighed). Slowmotion afspilning er nyttig til gennemgang af animationer frame for frame, mens hurtig fremad hjælper med at scanne gennem længere kompositioner.
Afspilleren eksponerer callbacks til programmatisk kontrol:
| Callback | Beskrivelse |
|---|---|
onComplete | Affyres når afspilning når slutningen |
onFrameChange | Affyres ved hver frame med det aktuelle framenummer |
onPlayStateChange | Affyres når afspil/pause tilstand ændres |
Brug disse callbacks til at synkronisere afspilleren med eksterne UI elementer, analytik eller interaktive oplevelser.
Disse eksempel tilpassede komponenter demonstrerer rækkevidden af hvad der er muligt med Rendervids tilpassede lagtype. Hver enkelt er bygget ved hjælp af det samme React.createElement() mønster beskrevet ovenfor.
Et fysikbaseret partikelsystem med 150+ partikler, konfigurerbar tyngdekraft, farve og eksplosionsradius. Partikler spawner fra et centralt punkt og buet udad med realistisk bevægelse.

Lydreaktive bølgemønstre der reagerer på frekvensdata. Flere bølgelag med konfigurerbar amplitude, frekvens og farve skaber en dynamisk, organisk visuel.

Glødende tekst med animerede neonlyseffekter, inklusiv flimmer, puls og farvecykling. Konfigurerbar glødradius, farver og animationshastighed.

En sci-fi inspireret holografisk UI med scanningslinjer, dataudlæsninger, gitteroverlays og animerede UI elementer. Ideel til tech-tematiserede videoer og futuristiske introer.

En hardwareaccelereret CSS 3D terning med teksturerede flader og glat rotation. Bruger CSS perspective og transform3d til performant 3D rendering uden WebGL.

En multi-diagram dashboardkomponent med animerede søjlediagrammer, linjediagrammer og stat tællere. Datadrevet og konfigurerbar til rapporter, præsentationer og data storytelling.

Yderligere tilpassede komponenteksempler inkluderer:
Rendervid understøtter 8 indbyggede lagtyper: tekst (rig typografi med 100+ skrifttyper), billede (med cover/contain/fill tilstande), video (med afspilningskontrol), form (rektangler, ellipser, polygoner, stjerner, SVG stier), lyd (med miksningseffekter), gruppe (til indlejring af lag), lottie (til Lottie animationer) og tilpasset (til React komponenter).
Tilpassede komponenter kan implementeres på tre måder: inline (JavaScript kode direkte i JSON skabelonen), URL-baseret (indlæst fra en CDN) eller som præ-registrerede referencer. Hver komponent modtager frame, fps, sceneDuration og layerSize props plus eventuelle tilpassede props du definerer. Komponenter bruger React.createElement() til rendering.
Rendervid inkluderer flere færdigbyggede komponenter i @rendervid/components pakken: AnimatedLineChart til datavisualisering, AuroraBackground til nordlyseffekter, WaveBackground til flydende animationer, SceneTransition til 17 professionelle overgange og TypewriterEffect til tegn-for-tegn tekstafsløring.
Ja, @rendervid/editor pakken leverer en komplet visuel skabeloneditor med tidslinjebaseret redigering, lagstyring, et egenskabspanel til redigering af lagegenskaber, fortryd/gentag historik og realtidsforhåndsvisning. @rendervid/player pakken leverer en selvstændig afspillerkomponent til forhåndsvisning af skabeloner.
Absolut. Du kan skrive tilpassede React komponenter der renderer frame-for-frame animationer. Komponenter modtager det aktuelle framenummer, fps, scenens varighed og lagstørrelse, hvilket giver dig fuld kontrol over procedurale animationer, fysiksimuleringer, datavisualiseringer, partikelsystemer og meget mere.
Vi hjælper virksomheder som din med at udvikle smarte chatbots, MCP-servere, AI-værktøjer eller andre typer AI-automatisering til at erstatte mennesker i gentagne opgaver i din organisation.

Komplet guide til Rendervid template systemet. Lær hvordan du opretter JSON video skabeloner, bruger dynamiske variabler med {{variable}} syntaks, konfigurerer ...

Deploy Rendervid hvor som helst: browserbaseret rendering til forhåndsvisninger, Node.js til serverside batch-behandling, eller cloud rendering på AWS Lambda, A...

Opdag Rendervid, det gratis open-source alternativ til Remotion til programmatisk videogenerering. AI-først design med MCP-integration, JSON-skabeloner, cloud r...