
Sistemul de Șabloane Rendervid - Șabloane JSON, Variabile, Animații și Tranziții
Ghid complet pentru sistemul de șabloane Rendervid. Învață cum să creezi șabloane video JSON, să folosești variabile dinamice cu sintaxa {{variable}}, să config...

Explorați toate componentele Rendervid: 8 tipuri de straturi încorporate (text, imagine, video, formă, audio, grup, lottie, personalizat), componente React pre-construite, editorul vizual de șabloane și playerul video. Creați componente personalizate cu suport complet React.
Rendervid este construit pe o arhitectură bazată pe componente care face crearea de videoclipuri modulară, extensibilă și prietenoasă pentru dezvoltatori. Fiecare element dintr-un șablon Rendervid este un strat, iar fiecare strat are un tip specific care determină modul în care se randează. Cu 8 tipuri de straturi încorporate, o bibliotecă în creștere de componente React pre-construite, un editor vizual de șabloane și un player standalone, Rendervid vă oferă tot ce aveți nevoie pentru a produce conținut video profesional în mod programatic.
Această pagină acoperă întregul ecosistem de componente: de la tipuri primitive de straturi precum text și formă, prin redare audio și video, până la componente React complet personalizate care deblochează posibilități creative nelimitate. Indiferent dacă construiți un card de titlu simplu sau o animație complexă bazată pe date, înțelegerea acestor componente este fundamentul.
Fiecare strat dintr-un șablon Rendervid este definit ca un obiect JSON cu un câmp type. Tipul determină proprietățile disponibile și comportamentul de randare. Mai jos este o referință detaliată pentru fiecare dintre cele 8 tipuri de straturi încorporate.
Stratul text este primitiva cea mai bogată în funcționalități din Rendervid. Randează text stilizat cu control complet asupra tipografiei, alinierii, culorii, efectelor și animației.
Proprietăți tipografie:
| Proprietate | Descriere | Exemplu |
|---|---|---|
fontSize | Dimensiunea fontului în pixeli | 48 |
fontFamily | Numele familiei de fonturi | "Inter" |
fontWeight | Greutatea de la 100 la 900 | 700 |
fontStyle | Normal sau italic | "italic" |
Rendervid vine cu peste 100 de fonturi Google încorporate. Le puteți folosi pe oricare dintre ele specificând proprietatea fontFamily fără a fi nevoie să încărcați foi de stil externe.
Proprietăți aliniere:
| Proprietate | Valori | Implicit |
|---|---|---|
textAlign | left, center, right, justify | left |
verticalAlign | top, middle, bottom | top |
Stilizare și efecte:
color și backgroundColor pentru colorare de bazătextShadow pentru umbretextStroke pentru text conturtextDecoration pentru subliniere, linie prin mijloctextTransform pentru majuscule, minuscule, capitalizaremaxLines cu trunchierea automată prin elipsă{
"type": "text",
"text": "Bine ați venit la 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)"
}
Pentru animații text avansate precum efectul typewriter, combinați stratul text cu animații keyframe sau folosiți componenta TypewriterEffect dedicată.
Stratul image afișează imagini raster și vectoriale cu opțiuni flexibile de dimensionare și decupare.
Proprietăți cheie:
| Proprietate | Descriere | Valori |
|---|---|---|
source | URL către fișierul imagine | Orice URL valid |
fit | Cum umple imaginea limitele sale | cover, contain, fill, none |
position | Punctul de ancorare pentru decupare | Stil CSS object-position, ex. "center top" |
Formate suportate: 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"
}
Proprietatea fit funcționează ca CSS object-fit:
Stratul video încorporează clipuri video în compoziția dvs. cu control complet al redării.
Proprietăți cheie:
| Proprietate | Descriere | Implicit |
|---|---|---|
source | URL către fișierul video | necesar |
startTime | Decalaj în videoclipul sursă (secunde) | 0 |
playbackRate | Multiplicator viteză | 1 |
muted | Dacă audio-ul este dezactivat | false |
loop | Redare în buclă a clipului video | 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
}
Folosiți startTime pentru a sări peste introduceri sau pentru a sări la un punct specific din materialul sursă. Combinați cu playbackRate pentru efecte slow-motion (0.5) sau time-lapse (2.0).
Stratul shape desenează forme vectoriale cu umpleri, contururi, gradienți și colțuri rotunjite.
Tipuri de forme:
| Tip | Descriere |
|---|---|
rectangle | Dreptunghi de bază cu borderRadius opțional |
ellipse | Cerc sau oval |
polygon | Poligon regulat cu laturi configurabile |
star | Formă de stea cu puncte configurabile |
path | Date cale SVG personalizate |
Proprietăți stilizare:
fill – culoare solidă sau gradientstroke – culoare conturstrokeWidth – grosime conturborderRadius – colțuri rotunjite pentru dreptunghiurilinear cât și radial{
"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
}
Pentru forme personalizate, folosiți tipul path cu date cale SVG standard:
{
"type": "shape",
"shapeType": "path",
"path": "M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80",
"fill": "#EC4899",
"stroke": "none"
}
Stratul audio adaugă piste audio compoziției dvs. cu control volum, estompare și un lanț complet de efecte.
Proprietăți cheie:
| Proprietate | Descriere | Implicit |
|---|---|---|
source | URL către fișierul audio | necesar |
volume | Nivel volum (0 la 1) | 1 |
fadeIn | Durată fade-in în secunde | 0 |
fadeOut | Durată fade-out în secunde | 0 |
Lanț efecte audio:
Rendervid include un pipeline de procesare efecte încorporat. Efecte disponibile:
{
"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
}
Efectele sunt procesate în ordine, permițându-vă să construiți lanțuri sofisticate de procesare audio. Folosiți valori pan de la -1 (complet stânga) la 1 (complet dreapta) pentru poziționare stereo.
Stratul group este un container care conține straturi copil. Transformările aplicate grupului afectează toți copiii, facilitând mutarea, scalarea, rotirea sau animarea compoziții complexe cu mai multe straturi ca o singură unitate.
Proprietăți cheie:
| Proprietate | Descriere |
|---|---|
children | Array de obiecte straturi copil |
{
"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": "Titlu card",
"x": 24,
"y": 24,
"fontSize": 28,
"fontWeight": 600,
"color": "#F8FAFC"
},
{
"type": "text",
"text": "Textul descriptiv de suport merge aici.",
"x": 24,
"y": 64,
"fontSize": 16,
"color": "#94A3B8"
}
]
}
Grupurile sunt neprețuite pentru organizarea șabloanelor complexe. Folosiți-le pentru a crea layout-uri de carduri reutilizabile, lower-thirds, overlay-uri și alte elemente compozite. Coordonatele copiilor sunt relative la poziția grupului.
Stratul lottie randează animații Lottie exportate din After Effects, Figma sau alte instrumente de animație.
Proprietăți cheie:
| Proprietate | Descriere | Implicit |
|---|---|---|
source | URL către fișierul JSON Lottie | necesar |
speed | Multiplicator viteză redare | 1 |
direction | 1 pentru înainte, -1 pentru înapoi | 1 |
loop | Dacă animația se repetă în buclă | false |
startFrame | Primul cadru de redat | 0 |
endFrame | Ultimul cadru de redat | ultimul cadru |
{
"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
}
Straturile Lottie sunt ideale pentru adăugarea de grafică de mișcare lustruită, pictograme, indicatori de încărcare și animații de brand fără a scrie cod cadru cu cadru. Proprietățile startFrame și endFrame vă permit să tăiați animația pentru a reda doar un segment specific.
Stratul custom este cel mai puternic tip de strat din Rendervid. Vă permite să scrieți componente React arbitrare care randează cadru cu cadru, oferindu-vă control complet asupra ieșirii vizuale.
Există trei tipuri de implementare pentru componentele personalizate:
Încorporați codul JavaScript direct în șablonul dvs. JSON. Cel mai bun pentru componente mici, autonome.
{
"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"
}
}
Încărcați o componentă de la un URL extern precum un CDN. Cel mai bun pentru componente reutilizabile partajate între șabloane.
{
"type": "custom",
"deployment": {
"type": "url",
"url": "https://cdn.example.com/components/animated-counter.js"
},
"props": {
"startValue": 0,
"endValue": 1000,
"prefix": "$",
"color": "#10B981"
}
}
Folosiți o componentă pre-înregistrată după nume. Cel mai bun pentru componente din pachetul @rendervid/components sau registre personalizate.
{
"type": "custom",
"deployment": {
"type": "reference",
"name": "AnimatedLineChart"
},
"props": {
"data": [10, 25, 40, 35, 60, 80, 72, 95],
"lineColor": "#6366F1",
"gradientOpacity": 0.3
}
}
Fiecare componentă personalizată primește un set standard de props:
| Prop | Tip | Descriere |
|---|---|---|
frame | number | Numărul cadrului curent (indexat de la 0) |
fps | number | Cadre pe secundă ale compoziției |
sceneDuration | number | Durata scenei curente în secunde |
layerSize | { width, height } | Dimensiuni în pixeli ale stratului |
props | object | Orice props personalizate definite în șablon |
Componentele personalizate suportă de asemenea validare schemă pentru props, asigurându-se că șabloanele transmit tipurile de date corecte și câmpurile necesare fiecărei componente.
Pachetul @rendervid/components vine cu un set de componente gata de producție pe care le puteți folosi imediat în șabloanele dvs.
Randează diagrame liniare animate cu umpleri gradient netede, puncte de date configurabile, etichete axe și efecte de desenare animată. Ideal pentru conținut video bazat pe date precum rapoarte, tablouri de bord și prezentări.
Props cheie: data, lineColor, gradientOpacity, strokeWidth, labels, animationStyle
Creează un efect hipnotizant de aurore boreale folosind gradienți stratificați și mișcare fluidă. Perfect pentru fundaluri atmosferice, secvențe intro și vizuale ambientale.
Props cheie: colors, speed, intensity, blur
Generează animații de unde fluide cu culori, amplitudini și frecvențe configurabile. Folosiți-l pentru fundaluri elegante, vizualizatoare muzicale sau conținut cu temă oceanică.
Props cheie: waveCount, colors, amplitude, frequency, speed
Oferă 17 tipuri de tranziții profesionale pentru trecerea între scene. Include wipes, fades, zooms, slides și multe altele. Fiecare tranziție este precisă la cadru și configurabilă.
Props cheie: transitionType, duration, direction, easing
Randează afișare text caracter cu caracter cu un cursor clipitor. Suportă viteză de tastare configurabilă, stil cursor și întârziere între cuvinte. Grozav pentru demo-uri cod, simulări chat și afișări text dramatice.
Props cheie: text, typingSpeed, cursorChar, cursorBlinkRate, startDelay
Construirea propriilor componente personalizate este locul unde Rendervid strălucește cu adevărat. Orice efect vizual pe care îl puteți crea cu JavaScript și CSS poate deveni o componentă Rendervid.
O componentă personalizată Rendervid este o funcție JavaScript standard care primește props și returnează un element React. Diferența cheie față de componentele React tipice este că randarea este bazată pe cadre mai degrabă decât bazată pe evenimente.
function MyComponent({ frame, fps, sceneDuration, layerSize, props }) {
// Calculează progresul animației (0 la 1)
const totalFrames = fps * sceneDuration;
const progress = frame / totalFrames;
// Folosește progresul pentru a conduce animațiile
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 || "Salut, Rendervid!");
}
Fiecare componentă personalizată primește aceste props standard:
fps pentru numărul total de cadre.width și height în pixeli, potrivit cu dimensiunile stratului definite în șablon.Deoarece componentele Rendervid rulează într-un mediu de randare, ele folosesc React.createElement() mai degrabă decât JSX. Modelul este simplu:
// Echivalent JSX: <div className="container"><span>Salut</span></div>
React.createElement("div", { className: "container" },
React.createElement("span", null, "Salut")
);
Puteți defini o schemă pentru props-urile componentei dvs. pentru a valida datele la momentul încărcării șablonului:
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 },
};
O componentă sistem de particule care simulează peste 150 de particule cu fizică:
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);
}
O animație de numărare care interpolează între valorile de start și sfârșit:
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 || ""));
}
Pentru mai multe despre cum se încadrează componentele personalizate în structura mai largă a șablonului, consultați documentația Sistem șabloane .
Pachetul @rendervid/editor oferă un editor vizual complet de șabloane, permițând atât non-dezvoltatorilor cât și dezvoltatorilor să construiască șabloane Rendervid fără a scrie JSON manual.
Editorul prezintă un timeline multi-pistă unde fiecare strat este reprezentat ca un bloc care poate fi tras, redimensionat și repoziționat. Ajustați vizual timpii de start, durațiile și ordinea straturilor. Măriți pentru precizie la nivel de cadru sau micșorați pentru o privire de ansamblu de nivel înalt.
Un panou dedicat listează toate straturile din compoziție cu reordonare drag-and-drop, comutatoare de vizibilitate, controale de blocare și grupare. Adăugați straturi noi dintr-o paletă de componente care include toate cele 8 tipuri încorporate și orice componente personalizate înregistrate.
Selectați orice strat pentru a vizualiza și edita proprietățile sale într-un formular structurat. Panoul de proprietăți se adaptează la tipul de strat, afișând doar câmpurile relevante. Selectoarele de culori, glisorele, meniurile dropdown și câmpurile text facilitează ajustarea fiecărui detaliu. Modificările se reflectă imediat în previzualizare.
Fiecare modificare este înregistrată într-o stivă de istoric cu suport complet undo și redo. Navigați prin istoricul editărilor cu încredere, știind că puteți întotdeauna reveni la o stare anterioară.
Editorul include o componentă Player încorporată care randează șablonul în timp real pe măsură ce faceți modificări. Previzualizați compoziția completă în orice moment în timpul editării fără a fi nevoie să exportați sau să randați.
Pachetul @rendervid/player oferă o componentă React standalone pentru previzualizarea șabloanelor Rendervid în browser.
Instalați și încorporați playerul în orice aplicație React:
import { Player } from "@rendervid/player";
function Preview({ template }) {
return (
<Player
template={template}
width={1920}
height={1080}
onComplete={() => console.log("Redare terminată")}
/>
);
}
Playerul suportă controale tastatură încorporate pentru previzualizare eficientă:
| Comandă rapidă | Acțiune |
|---|---|
Space | Redare / Pauză |
Săgeată stânga | Pas înapoi un cadru |
Săgeată dreapta | Pas înainte un cadru |
M | Activare / Dezactivare audio |
Ajustați viteza de redare de la 0.25x (un sfert viteză) la 4x (viteză cvadruplu). Redarea slow-motion este utilă pentru revizuirea animațiilor cadru cu cadru, în timp ce derularea rapidă ajută la scanarea compoziiilor mai lungi.
Playerul expune callback-uri pentru control programatic:
| Callback | Descriere |
|---|---|
onComplete | Declanșat când redarea ajunge la sfârșit |
onFrameChange | Declanșat la fiecare cadru cu numărul cadrului curent |
onPlayStateChange | Declanșat când starea redare/pauză se schimbă |
Folosiți aceste callback-uri pentru a sincroniza playerul cu elemente UI externe, analize sau experiențe interactive.
Aceste exemple de componente personalizate demonstrează gama a ceea ce este posibil cu tipul de strat personalizat Rendervid. Fiecare este construită folosind același model React.createElement() descris mai sus.
Un sistem de particule bazat pe fizică cu peste 150 de particule, gravitație configurabilă, culoare și rază de explozie. Particulele apar dintr-un punct central și arcuiesc în afară cu mișcare realistă.

Modele de unde reactive la audio care răspund la datele de frecvență. Mai multe straturi de unde cu amplitudine, frecvență și culoare configurabile creează un vizual dinamic, organic.

Text strălucitor cu efecte de lumină neon animate, incluzând pâlpâire, pulsare și ciclare culori. Rază de strălucire, culori și viteză animație personalizabile.

O interfață UI holografică inspirată de sci-fi cu linii de scanare, afișaje date, suprapuneri grilă și elemente UI animate. Ideal pentru videoclipuri cu temă tehnologică și introduceri futuriste.

Un cub 3D CSS accelerat hardware cu fețe texturate și rotație netedă. Folosește CSS perspective și transform3d pentru randare 3D performantă fără WebGL.

O componentă tablou de bord multi-grafic cu diagrame cu bare animate, grafice liniare și contoare statistici. Bazată pe date și configurabilă pentru rapoarte, prezentări și povestiri cu date.

Exemple suplimentare de componente personalizate includ:
Rendervid suportă 8 tipuri de straturi încorporate: text (tipografie bogată cu peste 100 de fonturi), imagine (cu moduri cover/contain/fill), video (cu control redare), formă (dreptunghiuri, elipse, poligoane, stele, căi SVG), audio (cu efecte de mixare), grup (pentru imbricare straturi), lottie (pentru animații Lottie) și personalizat (pentru componente React).
Componentele personalizate pot fi implementate în trei moduri: inline (cod JavaScript direct în șablonul JSON), bazat pe URL (încărcat de pe un CDN) sau ca referințe pre-înregistrate. Fiecare componentă primește props-uri frame, fps, sceneDuration și layerSize plus orice props personalizate pe care le definiți. Componentele folosesc React.createElement() pentru randare.
Rendervid include mai multe componente pre-construite în pachetul @rendervid/components: AnimatedLineChart pentru vizualizare date, AuroraBackground pentru efecte de aurore boreale, WaveBackground pentru animații fluide, SceneTransition pentru 17 tranziții profesionale și TypewriterEffect pentru afișare text caracter cu caracter.
Da, pachetul @rendervid/editor oferă un editor vizual complet de șabloane cu editare bazată pe timeline, gestionare straturi, un panou de proprietăți pentru editarea proprietăților straturilor, istoric undo/redo și previzualizare în timp real. Pachetul @rendervid/player oferă o componentă player standalone pentru previzualizarea șabloanelor.
Absolut. Puteți scrie componente React personalizate care randează animații cadru cu cadru. Componentele primesc numărul cadrului curent, fps, durata scenei și dimensiunea stratului, oferindu-vă control complet asupra animațiilor procedurale, simulărilor fizice, vizualizărilor de date, sistemelor de particule și multe altele.
Ajutăm companii ca a ta să dezvolte chatboți inteligenți, servere MCP, instrumente AI sau alte tipuri de automatizare AI pentru a înlocui oamenii în sarcinile repetitive din organizația ta.

Ghid complet pentru sistemul de șabloane Rendervid. Învață cum să creezi șabloane video JSON, să folosești variabile dinamice cu sintaxa {{variable}}, să config...

Implementați Rendervid oriunde: randare în browser pentru previzualizări, Node.js pentru procesare batch pe server sau randare cloud pe AWS Lambda, Azure Functi...

Descoperă Rendervid, alternativa gratuită open-source la Remotion pentru generarea programatică de video. Design AI-first cu integrare MCP, șabloane JSON, redar...