Built an MP3 → MP4 Converter with Blazor Server + Radzen Blazor (.NET 10)

Wanted to share a small app I built using Radzen Blazor components — an MP3 to MP4 converter, in case it's useful to anyone here or you want to see Radzen components used in a real end-to-end workflow.

What it does: upload an MP3, get back an MP4 video with an animated waveform synced to the audio — with an optional cover image composited behind the waveform.

Stack:

  • C# / .NET 10

  • Blazor Server (interactive server-side rendering)

  • Radzen Blazor components: RadzenUpload, RadzenDropDown, RadzenProgressBar, RadzenProgressBarCircular, RadzenCard, RadzenAlert, RadzenButton

  • ffmpeg, invoked from a backend C# service via Process

Where Radzen fit in:
RadzenUpload handles posting the MP3 and cover image to backend endpoints with built-in progress events (Progress, Complete, Error), which made it easy to wire up a real upload progress bar without writing custom JS. RadzenDropDown drives the waveform style picker, and RadzenCard/RadzenAlert/RadzenProgressBarCircular handle the layout and status feedback around the conversion step. It made the UI side genuinely fast to put together — most of the actual engineering time went into the ffmpeg filter graph, not the UI.

How it flows:

  1. RadzenUpload posts the MP3 (and optional cover image) to a controller endpoint

  2. A VideoConversionService builds an ffmpeg filter graph — full-frame waveform if no cover image, or a waveform strip overlaid on a scaled/cropped cover image if one's provided

  3. ffmpeg renders the video and muxes in the original audio

  4. The finished MP4 previews inline with a download button

MIT licensed — repo is here if you want to look through the code or fork it:
https://github.com/benjaminsqlserver/Mp3ToMp4Converter

Happy to answer questions on the Radzen side or the ffmpeg integration if anyone's curious.