Elementreferenz
Video-Element
1. Struktur
interface VideoClip extends BaseClip {
type: "video";
src: string | { $ref: string };
source?: {
start?: number;
end?: number;
};
volume?: number;
muted?: boolean;
playbackRate?: number;
}2. Unterstützte Felder
src
- Typ:
string | { $ref: string } - Erforderlich: ja
- Zweck: direkte Video-URL oder Referenz auf ein Video-Asset
source.start
- Typ:
number - Erforderlich: nein
- Einheit: Sekunden
- Zweck: Startzeit innerhalb des Quellmediums zuschneiden
source.end
- Typ:
number - Erforderlich: nein
- Einheit: Sekunden
- Zweck: Endzeit innerhalb des Quellmediums zuschneiden
volume
- Typ:
number - Erforderlich: nein
- Standard:
1
muted
- Typ:
boolean - Erforderlich: nein
- Standard:
false
playbackRate
- Typ:
number - Erforderlich: nein
- Standard:
1
3. Aktuelles Runtime-Verhalten
srcunterstützt direkte URLssrcunterstützt$refsource.startfunktioniertsource.endfunktioniertmuted: trueerzwingt eine effektive Lautstärke von0source.endbeeinflusst die effektiv abspielbare Dauer des Clips
4. Gemeinsame Felder, die gut mit Video funktionieren
Du kannst video sicher kombinieren mit:
transformstylezIndexanimationskeyframestransition
Hinweise:
style.borderRadiusfunktioniertstyle.objectFitfunktioniert mitfill / cover / containstyle.filtersfunktioniertfill: streckt auf den Zielbereich und kann verzerrencover: behält das Seitenverhältnis bei und kann beschneidencontain: behält das Seitenverhältnis bei und kann Letterboxing erzeugen
5. Beispiel
{
"type": "video",
"start": 0,
"duration": 6,
"src": { "$ref": "hero-video" },
"source": {
"start": 2,
"end": 8
},
"muted": true,
"playbackRate": 1,
"transform": {
"x": "50%",
"y": "50%",
"width": "100%",
"height": "100%"
},
"style": {
"objectFit": "cover",
"filters": [
{ "type": "blur", "value": 32 },
{ "type": "brightness", "value": 0.7 }
]
},
"transition": {
"type": "fade",
"duration": 0.2
}
}