{"record":{"id":"8ff2fc9c3e705a7d","repo":"remotion-dev/remotion","slug":"no-supported-configs","errorCode":null,"errorMessage":"No supported configs","messagePattern":"No supported configs","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/convert/app/components/ConvertUi.tsx","lineNumber":324,"sourceCode":"\t\t\t\tgetFileSize,\n\t\t\t\tisFileSystemBacked,\n\t\t\t\tclose,\n\t\t\t} = await makeWebFsTarget(filename, format.mimeType);\n\n\t\t\tconst output = new Output({\n\t\t\t\tformat,\n\t\t\t\ttarget: new StreamTarget(stream),\n\t\t\t});\n\n\t\t\tconst duration = await getDurationOrCompute(input);\n\t\t\twaveform.setDuration(duration);\n\n\t\t\tlet videoFrames = 0;\n\n\t\t\tconst startTime = Date.now();\n\n\t\t\tif (!supportedConfigs) {\n\t\t\t\tthrow new Error('No supported configs');\n\t\t\t}\n\n\t\t\tlet stopped = false;\n\t\t\tsetState({\n\t\t\t\ttype: 'in-progress',\n\t\t\t\tonAbort: () => {\n\t\t\t\t\tsetState({\n\t\t\t\t\t\ttype: 'idle',\n\t\t\t\t\t});\n\t\t\t\t\tstopped = true;\n\t\t\t\t},\n\t\t\t\tstate: progress,\n\t\t\t\tstartTime,\n\t\t\t\tnewName: filename,\n\t\t\t});\n\t\t\tconst cursorProcessors: Array<{\n\t\t\t\treadonly dispose: () => Promise<void>;\n\t\t\t}> = [];","sourceCodeStart":306,"sourceCodeEnd":342,"githubUrl":"https://github.com/remotion-dev/remotion/blob/78fe4bb3fdb5a2cd68724393d63cb223db333fa7/packages/convert/app/components/ConvertUi.tsx#L306-L342","documentation":"Thrown by ConvertUi when the browser exposes no supported encoding configurations for the chosen output format. Remotion Convert queries WebCodecs `isConfigSupported` for the target codec/resolution/bitrate; if every candidate is rejected, supportedConfigs is null/undefined and conversion cannot proceed.","triggerScenarios":"Selecting an output codec/resolution the browser's WebCodecs implementation cannot encode (e.g. AV1 on Safari, HEVC anywhere, or resolutions outside the encoder's caps). Fires at the start of the run() conversion after the supportedConfigs check.","commonSituations":"Using a codec the current browser lacks (Safari has no AV1 encoder, Chrome has no HEVC encoder); choosing dimensions outside the encoder's allowed range; outdated browser without WebCodecs; very high bitrates or unusual pixel formats rejected by isConfigSupported.","solutions":["Switch to a universally supported output codec (H.264/VP9 on Chrome, H.264 on Safari).","Lower or adjust the output resolution/bitrate to values the encoder advertises as supported.","Use a current Chrome/Edge version with WebCodecs enabled, or fall back to a server-side transcode.","Query VideoEncoder.isConfigSupported up front and disable unsupported options in the UI."],"exampleFix":"// before\nconst supportedConfigs = await findSupportedConfig(format);\n// ...later:\nif (!supportedConfigs) throw new Error('No supported configs');\n\n// after\nif (!supportedConfigs) {\n  setState({type: 'unsupported', message: `Your browser cannot encode ${format.codec}. Try H.264 in Chrome.`});\n  return;\n}","handlingStrategy":"validation","validationCode":"// probe support before offering the option\nconst support = await VideoEncoder.isConfigSupported({codec: 'avc1.42E01E', width: 1280, height: 720, bitrate: 2_000_000});\nif (!support.supported) { disableOutputOption(format); }","typeGuard":"null","tryCatchPattern":"try {\n  await run();\n} catch (e) {\n  if (e.message === 'No supported configs') {\n    setState({type: 'unsupported', message: 'Browser cannot encode this format'});\n  } else throw e;\n}","preventionTips":["Default to H.264 output, which has the widest browser support.","Query isConfigSupported for each candidate and disable unsupported ones in the UI.","Keep Chrome/Edge updated for current WebCodecs encoder support."],"tags":["typescript","convert","webcodecs","codec","browser-support","encode"],"backgroundTag":null,"analyzedSha":"78fe4bb3fdb5a2cd68724393d63cb223db333fa7","analyzedAt":"2026-08-12T17:18:50.444Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}