Modular Multimedia Streaming
Sirannon, formerly known as xStreamer, aims at being a modular multimedia streamer and receiver. The modularity is inspired by theClick Modular Router project and Direct Show filters. The user configures Sirannon by combining a collection of components in a workflow with each component performing basic functions such as reading video frames from a file, packetizing frames into smaller packets or multiplexing video and audio into a transport stream. The figure below shows such a configuration. Because Sirannon also has components for receiving, it can capture streams or retransmit them using different streaming protocols.
Sirannon has been accepted as part of the reference toolchain, defined in the final testplan of the Video Quality Experts Group (VQEG) Hybrid Perceptual/Bitstream project, for streaming video sequences and simulating network impairments.
Protocol transcoding - Universal server - Universal clientThe strongest feature is the combination of universal server (RTSP, HTTP, RTMP, RTMPT) and universal client (RTSP, HTTP, RTMP, RTMPT). This combination gives Sirannnon the ability to transcode one protocol to another in real-time, dynamically and for many users. For example a request of the form
rtmp://mysirannon.com/RTSP-proxy/www.tv-world.net/content/AJa3cdW.movin a Flash Player will make it connect to a Sirannon server that will in its turn connect to the fictional site
www.tv-world.netusing RTSP, request the stream and in real-time change the protocol and packetization and sent it to the client using RTMP. The translation works for all the combinations from and to RTSP, HTTP, RTMP and RTMPT.
HTML 5 - webMWe ride the HTML 5 wave by supporting streaming of Google's webM content. In addition, Sirannon can transcode in real time non-webM ingested content to webM and stream it.
Apple Live HTTP StreamingSirannon now supports Apple's Live HTTP streaming to MacBook, iPhone and iPad. (new in 0.6.0)
H.264/SVCSirannon supports streaming H.264 Scalable Video Coding and H.264 Multiview Video Coding, typically over RTP.
ImpairmentSirannon has several components for impairing a stream to simulate packet loss using different loss models (uniform, gilbert, predefined). The resulting stream can be written to a file or streamed.
- Supported codecs:
- Video: H.264/AVC, MPEG-4, MPEG-2, MPEG-1, VP8
- Audio: MPEG-1, MPEG-2, MPEG-4, VORBIS, AMR-NB, AMR-WB
- Supported containers: MPEG-2 PS, MPEG-2 Transport Streams, AVI, MOV/MP4, MKV, WEBM, raw
- Supported protocols:
- RTMP, RTMPT
- RTSP / RTP / UDP
- HTTP (including Apple HTTP streaming)
- sirannon-1.0.0 (source)
- sirannon-1.0.0-mingw32 (binary, windows 32 bit)
- For installation instructions refer to the documentation or README in the distribution.
- Report bugs or ask questions here.
- The Sirannon is released under the GPL (GNU Public License).
- Windows (cross compiled binary using mingw32 and mingw32-w64)