What happens
Converting an MP4 to WEBM runs for ~90 seconds and then fails with the generic conversion-failed popup:
Conversion not available yet
MP4 to WEBM didn't complete this time. Try a different target format or another file.
WEBM is offered in the format picker, so this reads as a supported route that quietly doesn't work.
Reproduction
- Converter surface
- Drop an H.264 MP4 (reproduced with an 18 MB, 20-second, 1080p phone recording)
- Target WEBM, Convert
- ~91s later: the failure popup
What was ruled out
Found while verifying unrelated progress-reporting work, so a few things are already eliminated:
- Not the progress change. That work only reads the assembled argv and emits events; it cannot affect encoding. The same file compresses MP4 → MP4 successfully (316s, 17.3 MB → 5.8 MB, −66%) and converts MP4 → MP3 successfully on the same build.
- Not the file. It is valid —
mvhd reports 19.968s, and both the MP4 and MP3 routes handle it.
- Not a timeout. It failed at ~91s, well inside the 10-minute worker ceiling.
Where to look first
Most likely the WEBM encoder is unavailable or misconfigured in the bundled ffmpeg-core build. WEBM needs libvpx (VP8/VP9) plus libopus/libvorbis for audio, and the wasm core is often compiled without them. Worth checking:
- Whether
libvpx/libvpx-vp9 appear in the core's -encoders output
- Whether
doConvert is passing an explicit codec for WEBM or relying on the muxer default
- The captured stdout from the failed run —
FFmpegHandler keeps it, and the real error is likely Unknown encoder or Automatic encoder selection failed
Either way, the copy is wrong
If WEBM genuinely cannot be encoded in this build, it should not be selectable — an offered format that always fails is worse than an absent one. If it can, the failure needs the actual reason rather than "didn't complete this time", which gives the user nothing to act on.
What happens
Converting an MP4 to WEBM runs for ~90 seconds and then fails with the generic conversion-failed popup:
WEBM is offered in the format picker, so this reads as a supported route that quietly doesn't work.
Reproduction
What was ruled out
Found while verifying unrelated progress-reporting work, so a few things are already eliminated:
mvhdreports 19.968s, and both the MP4 and MP3 routes handle it.Where to look first
Most likely the WEBM encoder is unavailable or misconfigured in the bundled
ffmpeg-corebuild. WEBM needs libvpx (VP8/VP9) plus libopus/libvorbis for audio, and the wasm core is often compiled without them. Worth checking:libvpx/libvpx-vp9appear in the core's-encodersoutputdoConvertis passing an explicit codec for WEBM or relying on the muxer defaultFFmpegHandlerkeeps it, and the real error is likelyUnknown encoderorAutomatic encoder selection failedEither way, the copy is wrong
If WEBM genuinely cannot be encoded in this build, it should not be selectable — an offered format that always fails is worse than an absent one. If it can, the failure needs the actual reason rather than "didn't complete this time", which gives the user nothing to act on.