Chapter 6: Video Elements
Video elements bring motion and dynamic content to your templates. This chapter covers adding, configuring, and optimizing video clips in FX Express.
Adding Videos
To add a video element:
- Click Video in the element palette (or drag it to the canvas)
- A video picker dialog opens
- Select or upload your video file
- The video appears on the canvas
Video Sources
Upload from Computer
- Click “Upload” in the video picker
- Select a video file from your device
- Supported formats: MP4, WebM, MOV
From URL
- Paste a video URL directly
- The video loads from the remote source
- Ensure the URL is publicly accessible and allows embedding
Stock Videos
Browse integrated stock video libraries (when available).
Video Properties
Source (src)
The URL or path to the video file.
Object Fit
Controls how the video fills its container (same as images):
| Mode | Behavior |
|---|---|
| Cover | Fills area, crops if necessary (default) |
| Contain | Fits entire video, may show background |
| Fill | Stretches to fill exactly |
Muted
On by default: the video plays without its own sound.
- Turn Muted off and the clip’s sound plays with it — in the preview, during play-in-place, and in the rendered video
- A Volume Adjustment layer above the video ducks its sound like any audio layer’s (Chapter 22)
- The preview’s mute button and Disable sound silence it as well; neither ever un-mutes a muted video
- A clip without an audio track simply stays silent
- Toggle using the volume icon in toolbar
Loop
Off by default. When the clip runs out before the layer ends:
- With Loop on, it starts over from the beginning of the file
- With Loop off, it holds its last frame
- Every pass after the first plays the whole file: a trim or content offset only moves where the first pass starts, and a trim end does not shorten the loop — the same as in the rendered video
- Toggle using the repeat icon in toolbar
When Videos Play
A video never plays while you edit. Parking or scrubbing the playhead shows the frame for that moment, so the canvas always matches the timeline. Videos play in the preview, during play-in-place, and in the rendered video, each starting when its layer’s In Time is reached — there is no separate autoplay setting.
Track motion…
Opens the Motion Tracker for this layer: place point or region trackers on the footage, track them, and apply the result to another layer so it follows the motion. See Chapter 24.
Video Timing
Video elements have special timing properties that control playback synchronization.
In Time and Duration
Like all elements, videos have:
- In Time: When the video element appears in the scene
- Duration: How long the video element is visible
Start Time and End Time (Trim)
Trim which portion of the source video to use:
- Start Time: Where to begin in the source video (seconds)
- End Time: Where to stop in the source video (seconds)
Example: A 60-second source video trimmed to show only 10-30 seconds.
Content Offset
Shifts the video content against the element’s In Time:
- contentOffset = 0: The video starts from its beginning (or its Start Time) when the element appears
- contentOffset > 0: Skips into the footage — when the element appears, the video is already N seconds in
- contentOffset < 0: Delays the video — it starts from its beginning N seconds after the element appears. While it waits the editor shows black, but what a rendered video shows in that gap is not defined. If the gap has to look a certain way, start the element later instead
Examples: Element appears at 2s with contentOffset 1s → at 2s the video is already 1 second in. Element appears at 2s with contentOffset −1s → the video waits from 2s to 3s and starts at 3s.
On the timeline, Shift-drag the content bar: to the left for a positive offset, to the right for a negative one (see Timeline).
Frame Freeze
If the video ends before the element duration expires:
- The last frame is frozen (unless Loop is on, which starts the clip over)
- The element remains visible with the final frame
- Useful for reveal effects
The Video Toolbar
When you select a video, a floating toolbar appears:
| Button | Function |
|---|---|
| Replace video | Choose a different video |
| Cover (📐) | Set object-fit to cover |
| Contain (📦) | Set object-fit to contain |
| Fill (⬜) | Set object-fit to fill |
| Mute/Unmute (🔊/🔇) | Toggle audio |
| Loop (🔁) | Toggle looping |
| Timing (🕐) | Open timing dialog |
| Delete (🗑) | Remove the video |
| Lock (🔒) | Lock position and size |
Video Playback Modes
Background Video
For full-screen video backgrounds:
- Position: 0%, 0%
- Size: 100%, 100%
- Object Fit: Cover
- Muted: Yes (recommended)
- Loop: Yes (for continuous play)
- Z-Index: Lowest value
Synchronized Video
For video synced with scene timing:
- Set element In Time to desired start
- Match element Duration to video length
- Or use “Match video length” scene duration mode
Video with Audio
For videos where audio matters:
- Muted: No
- Consider scene duration “Match video length”
- Test audio levels in preview
- Balance with any scene sounds or voiceover
Scene Duration Modes
Video elements interact with scene duration settings:
Match Video Length
Scene duration automatically matches the video element:
- Scene plays as long as the video
- Useful for video-centric scenes
- Set in Scene Settings → Duration tab
Fixed Duration
When scene has fixed duration:
- Video may be cut short if scene ends first
- Or freeze on last frame if video ends first
- Plan video length accordingly
Video Performance
Optimization Tips
| Factor | Recommendation |
|---|---|
| Resolution | Match output resolution (1080p typical) |
| Bitrate | 5-10 Mbps for quality, lower for file size |
| Codec | H.264 for compatibility, H.265 for efficiency |
| Frame rate | 30fps standard, 60fps for smooth motion |
File Size Considerations
- Large videos increase load times
- Compress videos appropriately
- Consider shorter clips when possible
- Use external hosting for large files
Browser Compatibility
- MP4 (H.264) has best compatibility
- WebM is efficient but less supported
- Test across target browsers
Video with Scene Sounds
Combine video with scene audio:
Muted Video + Scene Sound
- Mute the video element
- Add sounds via Scene Sounds (🔊)
- Audio plays from scene, video from element
- Useful when replacing video audio
Video Audio + Scene Sound
Both play simultaneously:
- A video has no volume of its own: balance the two with a Volume Adjustment layer, which ducks everything below it in the layer stack — the video’s sound included (Chapter 22)
- Consider which should be prominent
- Test for audio conflicts
Common Video Use Cases
Product Demo
Object Fit: Contain
Muted: No (or with voiceover)
Loop: No
Ambient Background
Object Fit: Cover
Muted: Yes
Loop: Yes
Z-Index: 0 (back)
Testimonial Clip
Object Fit: Contain or Cover
Muted: No
Loop: No
Duration: Match video length
Animated Logo
Object Fit: Contain
Muted: Yes
Loop: No or Yes
Size: Small, positioned in corner
Troubleshooting
Video Won’t Play
- Check video format compatibility (use MP4)
- Verify URL is accessible
- Check browser console for errors
- Try re-uploading the video
Video Has No Sound
- Check Muted setting in toolbar
- Verify source video has audio
- Check preview player mute toggle
- Check Disable sound in Page Setup
- Check for a Volume Adjustment layer above the video
Video Looks Pixelated
- Source resolution may be too low
- Don’t scale up small videos significantly
- Use higher quality source file
Video Timing Is Off
- Check In Time and Duration settings
- Verify Content Offset value
- Check Start/End Time trim settings
- Use timeline for precise adjustment
Video Stutters in Preview
- Large files may struggle in preview
- Optimize video file size
- Final export typically performs better
- Close other browser tabs
Audio/Video Out of Sync
- May occur with variable frame rate sources
- Convert to constant frame rate
- Re-encode with proper settings
Advanced: Content Offset Examples
A negative Content Offset delays the video; a positive one skips into it.
Delayed Start
Video element appears, but content waits:
Element In Time: 0s
Content Offset: -2s
Result: Element visible from 0s, video plays from its start at 2s
Synced with Animation
Text animates in, then video plays:
Text animation: 0-2s
Video In Time: 0s
Content Offset: -2s
Result: Text animates, video plays after
Staggered Videos
Multiple videos start at different times:
Video 1: In Time 0s, Offset 0s
Video 2: In Time 0s, Offset -1s
Video 3: In Time 0s, Offset -2s
Result: Videos appear together, play sequentially
Skipping a Slow Opening
Cut the first seconds of a clip without trimming the source:
Element In Time: 0s
Content Offset: 3s
Result: Element appears at 0s already 3 seconds into the video