Work

A portfolio built around the parts that are hard to fake.

Following are technical demontrations with measurable behaviour: formats, latency, file size, CPU usage, browser constraints and output fidelity.

Core usage cases
Case 01

Low-level FFmpeg player

Native playback using a controlled media pipeline, with explicit handling of independent audio and video streams.

Prototype
Case 02

Browser media laboratory

A browser-side experiment for selecting and combining local media streams without a conventional upload/transcode backend.

Interface layer
Case 03

Qt / QML media interface

A native interface around the processing core, built to keep the UI separate from the media engine.

Commercial product
Case 04

Personalised media assembly

Display live streams, selected metadata and select how you want the final product Save.

Try the prototype

Two videos in. One composed preview out.

Choose a visual source and a second video whose audio should be used. Add an overlay line, preview the result locally, and record it. The browser prefers MP4 when the device supports it; otherwise it records WebM. A production FFmpeg/WASM build will provide deterministic MP4 export.

Local media input

Two sources required

Live media

Build a media wall from recordings and live sources

Choose how many sources should appear, load local recordings or browser-compatible HTTP/HLS streams, select which source supplies the audio, and record the composed wall locally.

01
Inputs Local · HLS · HTTP/S · RTP relay
02
Composition Video · Audio · Overlay
03
Output Canvas · MediaRecorder
Composition

Configure the display

Input routing

Media sources

Select which source provides the recording audio
Output

Composed Media Wall

Ready
Browser limitation: Local media files work directly. HLS and HTTP media require compatible codecs and CORS headers. RTP/UDP cannot be opened directly by a browser and requires a relay such as WebRTC, SRT Gateway, MediaMTX or an FFmpeg-based proxy.
What makes the cases useful?

Show the engineering, not just the interface.

For technical buyers, the interesting part is often the boundary: what stays local, which streams are copied or re-encoded, how the pipeline behaves under load and where the deployment cost moves.

Case study template

Problem → Constraint → Prototype → Measurement → Result

  • Input formats and target output
  • Browser or native execution model
  • CPU / memory / latency behaviour
  • Privacy and data movement
  • What the next production step would be