Expand description
§OxiMedia Playout Server
Professional broadcast playout server with frame-accurate timing, 24/7 reliability, and support for multiple broadcast outputs.
§Features
- Frame-accurate timing (no dropped frames)
- 24/7 reliability with emergency fallback
- Genlock/sync support for professional broadcast
- Multiple simultaneous outputs (SDI, NDI, RTMP, SRT, IP multicast)
- Graphics overlay (logos, lower thirds, tickers)
- Comprehensive monitoring and alerting
- SCTE-35 marker insertion for ad breaks
- Dynamic playlist management
§Example
use oximedia_playout::{PlayoutServer, PlayoutConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = PlayoutConfig::default();
let server = PlayoutServer::new(config).await?;
server.start().await?;
Ok(())
}Modules§
- ad_
insertion - SCTE-35 ad insertion and splice point management. SCTE-35 ad insertion and splice point management for broadcast playout.
- api
- REST API and control interface
- asrun
- As-run logging and compliance reporting
- automation
- Automation rules and smart scheduling
- branding
- Channel branding / ID management for playout.
- bxf
- BXF (Broadcast eXchange Format) integration
- catchup
- Catch-up TV management: start-over, lookback windows, and recording triggers.
- cg
- Character Generator (CG) integration
- channel
- Multi-channel playout support
- channel_
config - Channel format and configuration registry (SD/HD/UHD, frame rate, audio). Channel format and configuration management for the playout server.
- clip_
store - Clip store for playout
- compliance_
ingest - Compliance recording and ingest: record-on-air, signal verification, and file delivery workflows.
- content
- Content management and validation
- device
- Broadcast device control
- event_
log - Playout event log.
- failover
- Failover and redundancy support
- frame_
buffer - Frame ring buffer with pre-roll gating and overflow/underrun detection. Frame buffer management for broadcast playout.
- frame_
trim - Frame-accurate trim engine with SMPTE timecode support. Frame-accurate trim engine with SMPTE timecode support.
- gap_
filler - Automatic gap detection and filler content insertion. Automatic gap detection and filler content insertion for playout.
- graphics
- Graphics overlay engine
- highlight_
automation - Automated highlight clip generation from playout.
- ingest
- Live ingest management
- media_
router_ playout - Signal routing from programme sources to SDI/IP/RTMP/file targets.
- monitoring
- System monitoring and alerting
- output
- Output modules for various broadcast formats
- output_
router - Output routing for the playout server.
- playback
- Real-time playback engine with frame-accurate timing
- playlist
- Playlist management and playback sequencing
- playlist_
ingest - Playlist ingest session: format detection, item validation, clip trimming. Playlist ingest for the playout server.
- playout_
log - Detailed playout logging and audit trail. Detailed playout logging and audit trail.
- playout_
schedule - 24-hour playout schedule grid with conflict detection and gap finding.
- predecode
- Pre-decode manager: background thread pool for gapless playlist transitions. Pre-decode manager: decode upcoming playlist items in background threads for zero-gap transitions between clips.
- preflight
- Content pre-flight validation before broadcast playout.
- ptp_
clock - PTP (Precision Time Protocol) clock source for sub-microsecond synchronisation. PTP (Precision Time Protocol) clock source — IEEE 1588-2019 / SMPTE ST 2059-2.
- rundown
- Rundown / script management for playout.
- schedule_
block - Time-blocked schedule management for broadcast playout. Time-blocked schedule management for broadcast playout.
- schedule_
slot - Time-slot schedule grid with booking, availability, and overlap queries. Schedule slot management for the playout server.
- scheduler
- Playlist and program scheduling
- secondary_
events - Secondary event triggers: ad break markers, chapter points, and data carousel.
- signal_
chain - Ordered processing chain (input -> process -> output) with bypass support.
- simulcast
- Multi-format simulcast: produce HD + UHD (or other format pairs) from a single playout chain.
- subtitle_
inserter - CEA-608/708 subtitle insertion and SRT/WebVTT parsing.
- tally_
system - Tally light control system for broadcast playout.
- timecode_
overlay - Timecode burn-in overlay for monitoring outputs. Timecode burn-in overlay for broadcast monitoring outputs.
- transitions
- Automated video transition effects between clips.
Structs§
- Audio
Format - Audio format configuration
- Playout
Config - Playout server configuration
- Playout
Server - Professional broadcast playout server
- Shutdown
Config - Configuration for graceful shutdown behaviour.
Enums§
- Playout
Error - Errors that can occur during playout operations
- Playout
State - Playout server state
- Video
Format - Video format configuration
Type Aliases§
- Result
- Result type for playout operations