How calegix-net/mumble-video works
Mumble Video is a voice-chat client/server fork adding opt-in camera, screen, and share-audio streams. The main workflow is capture and encode on a client, transport through the video protocol, permissioned subscription and relay on the server, then reassembly, decode, and playback/rendering for viewers. The README documents these relationships and major capabilities; some server routing and platform capture implementations are unsampled or absent from the supplied tree, so those nodes use supported enclosing-directory paths and are not expanded beyond documented behavior.
Main entry points: Server.cpp Murmur server · VideoStreamDispatcher.cpp Stream dispatcher · VideoBroadcaster.cpp Video broadcaster · VpxCodec.cpp Video codecs
Components 18
Sharing client
- Share picker
src/mumble/ScreenSharePickerDialog.cpp - Camera capture
src/mumble/CameraVideoSource.cpp - Screen capture
src/mumble - Share audio capture
src/mumble
Media pipeline
- Video broadcaster
src/mumble/VideoBroadcaster.cpp - Audio broadcaster
src/mumble/ScreenAudioBroadcaster.cpp - Video codecs
src/mumble/VpxCodec.cpp - Fragmentation
src/mumble-core/VideoFragmentation.cpp - Video transport
src/mumble-core/VideoTransport.h
Server routing
- Murmur server
src/murmur/Server.cpp - Video router
src/murmur - ACL permissions
src/ACL.h
Viewer client
- Stream dispatcher
src/mumble/VideoStreamDispatcher.cpp - Reassembly
src/mumble-core/VideoFragmentation.cpp - Video grid
src/mumble/VideoGrid.cpp - Share audio playback
src/mumble/AudioOutputScreenShare.cpp
Server state
- Server database
src/murmur/database/ServerDatabase.cpp
Other components
- User
Connections 20
- User → Share picker: selects share
README.md - Share picker → Screen capture: chooses source
README.md - User → Camera capture: starts camera
README.md - Camera capture → Video broadcaster: frames
README.md - Screen capture → Video broadcaster: frames
README.md - User → Share audio capture: chooses audio
README.md - Share audio capture → Audio broadcaster: audio input
README.md - Video broadcaster → Video codecs: encodes video
README.md - Video codecs → Fragmentation: video units
README.md - Fragmentation → Video transport: fragments units
README.md - Audio broadcaster → Video transport: sends share audio
README.md - Video transport → Murmur server: UDP datagrams
README.md - Murmur server → Video router: routes streams
README.md - Video router → ACL permissions: checks privileges
README.md - Murmur server → Server database: persists server state
- Murmur server → Stream dispatcher: relays streams
README.md - Stream dispatcher → Reassembly: hands off units
- Reassembly → Video grid: reassembled frames
README.md - Video grid → Video codecs: decodes video
README.md - Stream dispatcher → Share audio playback: dispatches share audio
README.md