Video Scenes

Video scenes embed existing video files into your composition. Use them for b-roll, product footage, screen recordings, or any pre-made video content.


Scene types

Program supports two types of video scenes:

Video file scenes

Reference a specific video file by URL or upload.

{
  type: "video_file",
  config: {
    url: "https://example.com/my-video.mp4",
    fileId: "file_abc123",
    trimStart: 0,
    trimEnd: 10
  }
}
Fields:
FieldDescription
urlDirect URL to the video file
fileIdReference to an uploaded file
trimStartStart playback at this second (optional)
trimEndEnd playback at this second (optional)

Video lookup scenes

Dynamically find videos based on a search query. Great for stock footage.

{
  type: "video_lookup",
  config: {
    query: "office meeting",
    source: "pexels",
    license: "free"
  }
}
Fields:
FieldDescription
querySearch terms
sourceVideo source (optional)
licenseLicense filter (optional)

Adding video scenes

Via AI

Ask the assistant to add video content:

Add a 5-second video clip of a city skyline

The AI will create a video lookup scene with appropriate search terms.

For specific files:

Add the video from https://example.com/intro.mp4

Via CLI

Use the addScene tool with a video configuration:

program tool exec addScene \
  --title "Product Demo" \
  --duration 10 \
  --type video_file \
  --config '{"url": "https://example.com/demo.mp4"}'

For video lookup:

program tool exec addScene \
  --title "B-Roll" \
  --duration 5 \
  --type video_lookup \
  --config '{"query": "office meeting"}'

In the editor

Video scenes appear in the timeline with a thumbnail preview. Click to select, drag to reposition, or resize to adjust duration. Double-click to open the scene settings where you can change the source URL, adjust trim points, or switch to a different video file.

Trimming

Extract a portion of a longer video:

{
  trimStart: 5,   // Start at 5 seconds
  trimEnd: 15     // End at 15 seconds
}

The video scene will play the 10-second clip from 5s to 15s of the source video.

Rendering

Video scenes use Remotion's OffthreadVideo component under the hood:

  • Off-thread processing: video decoding happens on a separate thread, keeping the main render smooth
  • Automatic sync: playback matches the composition timeline
  • Error handling: missing or broken videos show a fallback message

Supported formats

Most common video formats work:

  • MP4 (H.264, H.265)
  • WebM
  • MOV
  • And more
For best compatibility and performance, H.264 MP4 is recommended.

Performance considerations

File size matters. Large video files increase render time. Trim unnecessary content and compress when possible. Resolution matching. Using 4K footage in a 1080p composition wastes resources. Match source resolution to output when you can. Preloading. Videos are preloaded before the scene plays. Very large files may cause buffering indicators in preview.

Combining with code

Layer video scenes with code scenes for overlays:

1. Video scene plays the footage 2. Code scene renders on top (text overlays, graphics, lower thirds)

The composition stacks scenes in order from bottom to top.

Stock video sources

Video lookup scenes can search various stock footage providers. Available sources depend on configured integrations.

Common searches work well:

  • "nature landscape"
  • "tech office"
  • "hands typing keyboard"
  • "abstract particles"
Be specific for better results. "Coffee shop interior morning" finds more relevant footage than just "coffee."

For audio content like narration and music, see Audio Scenes.