remotion-dev/remotion · error · Error
Unknown WAV box type ${type}
Error message
Unknown WAV box type ${type} What it means
parseWav dispatches on the 4-byte chunk FourCC and recognizes only riff, fmt, data, list, id3, junk, fllr, bext, cue, fact, and NUL. Any other chunk type is rejected rather than skipped, so an otherwise-valid WAV carrying an unknown chunk will fail the whole parse.
Source
Thrown at packages/media-parser/src/containers/wav/parse-wav.ts:56
}
if (type === 'id3') {
return parseId3({state});
}
if (type === 'junk' || type === 'fllr' || type === 'bext' || type === 'cue') {
return parseJunk({state});
}
if (type === 'fact') {
return parseFact({state});
}
if (type === '\u0000') {
return Promise.resolve(null);
}
throw new Error(`Unknown WAV box type ${type}`);
};
View on GitHub (pinned to 78fe4bb3fd)
Solutions
- Strip non-essential chunks: ffmpeg -i in.wav -map_metadata -1 -c copy out.wav.
- Identify the offending chunk in a hex editor.
- Use Mediabunny, which skips unknown chunks; try/catch parseMedia().
Example fix
# drop metadata/unknown chunks, keep audio
ffmpeg -i in.wav -map_metadata -1 -c:a copy out.wav
await parseMedia({ src: 'out.wav' }); Defensive patterns
Strategy: try-catch
Validate before calling
// ffprobe tolerates unknown chunks; if ffprobe loads it but parseMedia doesn't, // strip metadata chunks: ffmpeg -i in.wav -map_metadata -1 -c copy out.wav
Try / catch
try {
await parseMedia({ src: 'in.wav' });
} catch (err) {
if (err instanceof Error && /Unknown WAV box type/i.test(err.message)) {
// strip unknown chunks and retry, or use Mediabunny
} else throw err;
} Prevention
- Strip non-essential WAV chunks with ffmpeg before parsing.
- Use Mediabunny, which skips unknown chunks.
- Avoid broadcast/RF64 WAVs with parseMedia().
When it happens
Trigger: A WAV containing a chunk FourCC outside the known set: 'ds64' (RF64), 'PEAK', 'smpl', 'inst', 'plst', vendor-specific chunks, or a corrupted FourCC from byte damage.
Common situations: Broadcast WAVs (bext/PEAK); RF64 files; DAW metadata chunks; corrupted chunk headers.
Related errors
- Expected WAVE, got ${fileType}
- File type ${fileType} not supported
- Only supporting WAVE with PCM audio format, but got ${audioF
- Unsupported bits per sample: ${bitsPerSample}
- Unsupported subformat: ${subFormat}
AI-assisted analysis of remotion-dev/remotion@78fe4bb3fd (2026-08-12).
Data as JSON: /api/errors/8041b981afc7f58a.
Report an issue: GitHub.