cpp streamer is an audio and video component developed based on C++11. Users can connect the components together to implement their own streaming media functionality.
Supports various media formats, streaming live/RTC protocols.
- flv mux/demux
- mpegts mux/demux
- rtmp publish/play
- srs whip
- srs whip bench(srs webrtc bench)
- mediasoup whip(mediaoup webrtc bench)
For network development, it utilizes the high-performance, cross-platform libuv network asynchronous library.
cpp streamer is an audio-video component that offers streaming development mode.
For example:The implementation of converting FLV files to MPEG-TS is as shown in the following diagram.
- First, read the FLV file;
- Using the flvdemux component: import the file binary stream through the source interface, parse it, and then output the video + audio media stream through the sinker interface;
- Using the mpegtsmux component: import the parsed media stream from the upstream through the source interface, encapsulate it into MPEG-TS format internally in the component, and then output it in MPEG-TS format through the sinker interface;
- Output through the sinker interface of the mpegtsmux component, write to a file, and obtain an MPEG-TS file;
- FLV to MPEG-TS Conversion
- FLV to RTMP Streaming
- MPEG-TS to WHIP (WebRTC HTTP ingest protocol) conversion, pushing stream to SRS WebRTC service
- MPEG-TS to WHIP (WebRTC HTTP ingest protocol) conversion bench testing, stress testing the stream pushing to the SRS WebRTC service.
- Stress testing MPEG-TS to mediasoup broadcaster streaming push