Sirannon (streaming)

Sirannon is a free, open-source, media server and client. The goal is to aid in video research and experimental streaming. Sirannon allows the programmer to create a wide variety of media-handling components such as streaming, reading, writing, packetizing. By organizing these components in a workflow the programmer can create many applications such as a media server, media proxy or video tool. Sirannon was introduced at the ACM multimedia conference in October 2009 under its former name xStreamer.

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.

Features
The main 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. A request of the form  in a Flash Player will make it connect to a Sirannon server that will in its turn connect to the fictional site   using RTSP, request the stream and in real-time change to protocol and packetization to send it to the client using RTMP. The translation works for all the combinations from and to RTSP, HTTP, RTMPT and RTMPT. Sirannon supports HTML 5 by streaming Google's WebM content. In addition, Sirannon can transcode in real-time non-WebM ingested content to WebM and stream it.
 * Protocol transcoding – universal server – universal client
 * HTML 5 – WebM
 * H.264/SVC and H.264/MVC – Support for streaming H.264 Scalable Video Coding and H.264 Multiview Video Coding, typically over RTP, and H.264 Multi View Coding.
 * Apple Live HTTP streaming – Sirannon supports Apple's Live HTTP streaming to MacBook, iPhone and iPad (new in 0.6.0).
 * Impairment – Several components can impair 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 formats

 * 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
 * UDP
 * TCP