affaan-m/ECC · error
No video track found in the input
Error message
No video track found in the input
What it means
Example from the mediabunny extract-frames rule: after opening the input, getPrimaryVideoTrack() returned null/undefined, so frame extraction cannot proceed. The source contains no video track — the caller passed an audio-only or malformed file.
Source
Thrown at skills/remotion-video-creation/rules/extract-frames.md:60
export async function extractFrames({
src,
timestampsInSeconds,
onVideoSample,
signal,
}: ExtractFramesProps): Promise<void> {
using input = new Input({
formats: ALL_FORMATS,
source: new UrlSource(src),
});
const [durationInSeconds, format, videoTrack] = await Promise.all([
input.computeDuration(),
input.getFormat(),
input.getPrimaryVideoTrack(),
]);
if (!videoTrack) {
throw new Error("No video track found in the input");
}
if (signal?.aborted) {
throw new Error("Aborted");
}
const timestamps =
typeof timestampsInSeconds === "function"
? await timestampsInSeconds({
track: {
width: videoTrack.displayWidth,
height: videoTrack.displayHeight,
},
container: format.name,
durationInSeconds,
})
: timestampsInSeconds;
View on GitHub (pinned to d8409a4b08)
Solutions
- Validate that the input URL/mime type is a video container before calling extractFrames
- Surface a user-facing 'not a video file' message instead of a raw Error
- Check input.getFormat() to reject unsupported containers early
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at skills/remotion-video-creation/rules/extract-frames.md:60 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of affaan-m/ECC@d8409a4b08 (2026-08-26).
Data as JSON: /api/errors/ac2aacb0dceeaf9f.
Report an issue: GitHub.