remotion-dev/remotion · error
No video config found
Error message
No video config found
What it means
OffthreadVideoForRendering is the internal component used during server-side rendering to display <OffthreadVideo>. It reads the current video configuration from Remotion context; if none is present it throws 'No video config found'. In practice this means the component ran outside a valid Remotion rendering/composition context, since videoConfig should always be supplied by the Remotion core during a render.
Solutions
- Use <OffthreadVideo> only inside a Remotion <Composition> during rendering or in <Player>, never in plain React apps.
- Wrap the component with Remotion's context providers if writing a custom test harness (use Internals / CompositionManager + timeline contexts).
- Upgrade @remotion/player and @remotion/renderer/core to matching versions so the context is correctly populated.
- Render via `remotion render` / CLI rather than calling OffthreadVideoForRendering directly.
Example fix
// before
render(<OffthreadVideo src="video.mp4" />); // plain React
// after
// register a Composition and render through Remotion
<Composition id="vid" component={MyVideo} durationInFrames={100} fps={30} width={1920} height={1080} />; Defensive patterns
Strategy: try-catch
Try / catch
try {
renderMedia({composition, serveUrl, outputLocation});
} catch (e) {
if (e instanceof Error && e.message === 'No video config found') {
console.error('OffthreadVideo rendered outside a Remotion composition/context; check your entry point.');
}
throw e;
} Prevention
- Only use OffthreadVideo inside Remotion compositions or <Player>.
- Don't mount internal components like OffthreadVideoForRendering directly in tests or plain React apps.
- Keep @remotion/core, player, and renderer versions in lockstep.
- Use the official CLI/programmatic render entry points.
When it happens
Trigger: Rendering OffthreadVideo (which internally mounts OffthreadVideoForRendering) outside of a Remotion composition, invoking the component directly in a plain React app or test without the Remotion context providers, or a broken/custom render pipeline that skips the Internals context.
Common situations: Unit-testing the internal component without wrapping providers, using OffthreadVideo in a non-Remotion React project, or core version mismatches where context is not established.
Understand the failure class
Background: "X is required", "must be set", "cannot be empty": the missing-required-config error family, from Vertex AI project/location to WeChat keys — this error's family across 18 libraries.
Related errors
- AbsoluteTimeContext is not available. This hook must be…
- Expected Player event emitter context
- Expected video config
- PlaybackRateContext is not available. This hook must be…
- SequenceManagerContext not initialized
AI-assisted analysis of remotion-dev/remotion@46a3a6bf13 (2026-09-18).
Data as JSON: /api/errors/2168e2f896fb0caf.
Report an issue: GitHub.
Appendix: source
Thrown at packages/core/src/video/OffthreadVideoForRendering.tsx:106
],
);
const volume = evaluateVolume({
volume: volumeProp,
frame: volumePropsFrame,
mediaVolume: 1,
});
warnAboutTooHighVolume(volume);
const audioEnabled = useAudioEnabled();
const {shouldUseAudio} = useMediaAudioState({
muted,
volume,
audioEnabled,
});
if (!videoConfig) {
throw new Error('No video config found');
}
useEffect(() => {
if (!src) {
throw new Error('No src passed');
}
if (!shouldUseAudio) {
return;
}
registerRenderAsset({
type: 'video',
src: getAbsoluteSrc(src),
id,
frame: absoluteFrame,
volume,
mediaFrame: frame,View on GitHub (pinned to 46a3a6bf13)