DirectShow RTSP Server filter and RTSP Jukebox

A few weeks ago, I was investigating RTSP playback (see my iOS server prototype here). At the same time, I wrote an RTSP server as a DirectShow filter, together with an RTSP Jukebox app that loops multiple clips using GMFBridge. I’ve decided to release it under an attribution licence.

The RTSP server is a DirectShow renderer filter, with an input pin for video (that must be connected) and an optional audio input. It supports only H264 and AAC input. When the graph is running, the input is fed to an RTSP server, which will transmit as a live stream.

The Jukebox player app is adapted from the GMFPlay demo app. It allows you to create a playlist of clips, and the whole playlist is looped through the RTSP server filter. This uses GMFBridge to manage separate graphs for the source clips, with a single graph for the RTSP server. It’s a little experimental; the main limitation is that no type changing is supported, so all clips that are part of a playlist must be in exactly the same format. You will need to download and register GMFBridge.dll (from here) for the app to work.

Download the source here. Feel free to get it touch if you are interested in extending this.

16th May 2013