remotion-dev/remotion · error

Unsupported fccType: ${fccType}

Error message

Unsupported fccType: ${fccType}

What it means

Thrown by parseStrf() when the fccType argument is neither 'vids' nor 'auds'. parseStrf only has branches for video and audio stream-format chunks; any other fccType (e.g. 'txts', 'mids') is rejected. This is the strf-level mirror of error 1390.

Source

Thrown at packages/media-parser/src/containers/riff/parse-strf.ts:89

export const parseStrf = ({
	iterator,
	size,
	fccType,
}: {
	iterator: BufferIterator;
	size: number;
	fccType: FccType;
}): StrfBoxAudio | StrfBoxVideo => {
	if (fccType === 'vids') {
		return parseStrfVideo({iterator, size});
	}

	if (fccType === 'auds') {
		return parseStrfAudio({iterator, size});
	}

	throw new Error(`Unsupported fccType: ${fccType}`);
};

View on GitHub (pinned to 78fe4bb3fd)

Solutions

  1. Filter the AVI to keep only video/audio streams: ffmpeg -i in.avi -map 0:v -map 0:a -c copy out.avi
  2. Transcode to MP4 to avoid the AVI stream-type parsing path entirely.
  3. Report the file if it reaches this throw after a clean strh parse, since strh should have rejected the fccType first.
Defensive patterns

Strategy: try-catch

Validate before calling

// Ensure fccType is vids/auds before invoking parseStrf (parseStrh already gates this).
function isSupportedFccType(t: string): boolean {
  return t === 'vids' || t === 'auds';
}

Type guard

type FccTypeSupported = 'vids' | 'auds';
function isSupportedFccType(t: string): t is FccTypeSupported {
  return t === 'vids' || t === 'auds';
}

Try / catch

try {
  const strf = parseStrf({iterator, size, fccType});
} catch (err) {
  if (err instanceof Error && err.message.startsWith('Unsupported fccType')) {
    // skip this stream chunk
  } else throw err;
}

Prevention

When it happens

Trigger: Called from parseStrh() for a stream whose fccType is not 'vids'/'auds'. Since parseStrh() already rejects fccType not in {vids, auds}, reaching 1391 indicates the dispatcher was bypassed or fccType was mutated between the two checks.

Common situations: Edge-case AVI with auxiliary stream chunks; an internal bug where parseStrf is invoked with an unexpected fccType; corrupt strh/strf pairing.

Related errors


AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12). Data as JSON: /api/errors/b1e5904a6271edf8. Report an issue: GitHub.