oximedia-net
Status: [Stable] | Version: 0.1.1 | Updated: 2026-03-10
Network streaming protocols for the OxiMedia multimedia framework.
Part of the oximedia workspace — a comprehensive pure-Rust media processing framework.
Overview
oximedia-net provides implementations of network streaming protocols with adaptive bitrate, CDN integration, live streaming, and professional broadcast transport.
| Protocol | Description |
|---|---|
| HLS | HTTP Live Streaming (Apple) |
| DASH | Dynamic Adaptive Streaming over HTTP |
| RTMP | Real-Time Messaging Protocol |
| SRT | Secure Reliable Transport |
| WebRTC | Real-time browser communication |
| SMPTE ST 2110 | Professional media over IP |
| RTP/RTSP | Real-time Transport Protocol |
| IP Multicast | Multicast streaming |
Features
HLS (HTTP Live Streaming)
- Master playlist parsing and generation
- Media playlist parsing and live segment tracking
- Variant stream selection
- Segment URL extraction and fetching
use ;
let playlist = parse?;
for variant in playlist.variants
DASH (MPEG-DASH)
- MPD (Media Presentation Description) parsing
- Period and adaptation set handling
- Segment template support
- Live/VOD and DVR window management
use MpdParser;
let mpd = parse?;
for period in mpd.periods
RTMP (Real-Time Messaging Protocol)
- Handshake protocol (C0/C1/C2, S0/S1/S2)
- Chunk stream handling
- AMF0/AMF3 encoding/decoding
- Message types (audio, video, command)
- RTMP client for publishing and playing
use ;
let config = new
.with_app
.with_stream_key;
let mut client = connect.await?;
client.publish.await?;
SRT (Secure Reliable Transport)
- Packet structure and parsing
- Handshake (caller/listener/rendezvous)
- Congestion control (TLPKTDROP)
- AES encryption support
- Connection monitoring and statistics
- Key exchange
WebRTC
- ICE candidate handling and ICE agent
- STUN/TURN support
- SDP parsing and generation
- DataChannel support
- DTLS transport
- SRTP/SRTCP
- RTCP
- SCTP
SMPTE ST 2110
- Video transport (ST 2110-20)
- Audio transport (ST 2110-30)
- Ancillary data (ST 2110-40)
- PTP/IEEE 1588 timing
- RTP stream management
- SDP generation
Live Streaming
- HLS live server
- DASH live server
- Live stream analytics
CDN Integration
- CDN failover
- CDN metrics and monitoring
API Overview
Core types:
NetError/NetResult— Error handlingConnectionPool— HTTP connection pooling
Modules:
abr— Adaptive bitrate controlbandwidth_estimator,bandwidth_throttle— Bandwidth estimation and throttlingcdn— CDN integration (failover, metrics)connection_pool— HTTP/TCP connection poolingdash— DASH streaming (client, MPD, segments, live DVR/chunked)error— Error typesflow_control— Flow controlhls— HLS streaming (playlist, segments)live— Live streaming servers (HLS, DASH) and analyticsmulticast— IP multicast supportnetwork_path— Network path analysispacket_buffer— Packet bufferingprotocol_detect— Protocol auto-detectionqos_monitor— Quality of service monitoringretry_policy— Retry and backoff policiesrtmp— RTMP protocol (handshake, chunk, AMF, client, message)rtp_session— RTP session managementsession_tracker— Session trackingsmpte2110— SMPTE ST 2110 professional IP media transportsrt— SRT protocol (crypto, key exchange, packet, stream, monitor)stream_mux— Stream multiplexingwebrtc— WebRTC (ICE, STUN, SDP, DTLS, SRTP, DataChannel, SCTP)
Policy
- No unsafe code
- No warnings (clippy pedantic)
- Apache 2.0 license
License
Apache-2.0 — Copyright 2024-2026 COOLJAPAN OU (Team Kitasan)