DECYPHER

OPEN TO COLLABORATIONS // 05 UNITS // v2.3.1

UNITS / UNIT 01 / MNHR

DESKTOP MEDIA WORKBENCH

Media mastered in one app.

FIG.01Menhir with four docked players next to the Live TV and IPTV panel

OVERVIEW

CASE FILE MNHR

Menhir is a Windows-first media player and broadcast workbench written in C++20. It puts a media player, an audio mixer, a broadcast studio and a recorder in one window and keeps them in sync.

Every tool is a panel. You can split, stack and resize panels, keep as many open as the job needs, and save the arrangement as a layout for playback, TV, recording or studio work.

TYPE
Desktop media player and broadcast workbench
PLATFORM
Windows 10 / 11 · x64
LANGUAGE
C++20
STACK
SDL3 · Dear ImGui (docking) · FFmpeg · miniaudio · D3D11 / OpenGL · SQLite
SERVICES
Cloudflare Worker with D1 and Stripe for billing (TypeScript)
SIZE
≈64,000 lines of C++ across 25 source modules
VERSION
1.0.0

NINE SUBSYSTEMS

09 ENTRIES

  1. 00

    Playback

    Picture and sound kept in step, 10-bit HDR color, and a compatibility mode for older PCs.

    HDR10 · subtitles · lyrics · auto-skip · clip export

  2. 01

    Karaoke

    Synced lyrics rendered in time with the music, in their own dockable panel.

    synced lyrics · timed display

  3. 02

    Audio console

    One mixer for players, mics, system audio and network feeds, with EQ, effects, routing and per-input recording.

    routing · WASAPI loopback · EQ presets · soundboard

  4. 03

    Studio

    Scenes built from videos, cameras, browser pages, text and images, with a preview of the next scene and live transitions.

    cut · fade · stinger · NVIDIA Maxine · OBS bridge

  5. 04

    Docking

    Split, resize and stack panels into tabs, then save layouts for different kinds of work.

    dockable panels · saved layouts

  6. 05

    Record

    Shows, live channels, system audio and studio output, with scheduled recordings, instant replay and separate studio takes.

    DVR · replay buffer · TS / MKV / MP4

  7. 06

    Publish

    Go live to streaming platforms, or send video and music to TVs and speakers in the house.

    RTMP · SRT · WHIP · NDI · DLNA · Chromecast · AirPlay

  8. 07

    Live TV

    A multiview wall of channels, IPTV playlists and TV guide, pause and rewind live TV, and record any channel.

    M3U · XMLTV · timeshift · guide search

  9. 08

    Live streaming

    Multi-cam streamers in custom multiview panels, with live chat and emotes from every platform beside the players.

    Twitch · YouTube · Kick

SCREENS

04 CAPTURES

HOW IT'S BUILT

25 SOURCE MODULES

The C++ source is split into modules, each with its own README. Grouped by what they do:

PLAYBACK AND MEDIA 05

  • Core mediaPlayer, decoder, subtitles, lyrics, capture
  • RendererOpenGL / D3D11 frame upload
  • Audiominiaudio output, mixer buses, recording
  • LibrarySQLite media library and metadata
  • DevicesDirectShow devices and optical discs

BROADCAST 06

  • StudioScene document model
  • Stream publishingRTMP, SRT, WHIP, NDI targets
  • OBS bridgeOBS-compatible websocket control
  • CastingDLNA, Chromecast, AirPlay
  • ChatTwitch, Kick and YouTube chat
  • EffectsNVIDIA Maxine runtime

TV AND SHARING 02

  • TV / DVRIPTV, XMLTV, DVR, timeshift
  • SyncWatch Together host and relay

ACCOUNTS AND SERVICES 04

  • AccountsYouTube and Kick OAuth
  • Twitch accountDevice authorization
  • BillingSubscription state client
  • NetworkHTTP client and ranged file server

APPLICATION 08

  • App shellSDL / ImGui / D3D11 bootstrap, updater
  • UIDockable panels and layout state
  • SettingsJSON settings
  • PluginsManifests, registry, marketplace
  • InternationalizationUTF-8 JSON catalogs
  • SecurityCredential Manager and DPAPI
  • PrivacyText and URL redaction
  • UtilitiesLogging