Search code examples
windowsmulticastwmpmpeg

How to receive MPEG-TS multicast from Windows


We currently have a system with live video encoded to an MPEG-TS multicast stream, being received by televisions with STBs. In addition to televisions we'd like to embed the video in our Windows application.

I know that VLC will receive the stream, but would prefer both a solution that I can embed in an existing application without playing window moving games, and one without licensing problem. I realize that likely means that I'm not looking at a free solution, that's fine, within reason.

Anyone know of a good product for this? Either something easy to use, or a plug-in for WMP.


Solution

  • You'll need to develop a simple DirectShow filter that listens on a given port and just passes down every packet it had received.

    I don't have a sample handy, but it's really simple, several hundreds lines of code.

    Then you just connect this filter to an MPEG2 Demultiplexer capable of decoding transport stream.

    NVidia and Elecard come to mind first, though the former one does not connect under debugger.

    Then you connect the demultiplexer to the decoder and finally to the renderer.

    The demultiplexers and decoders handle the live stream issues well, you just capture the UDP packets and send down to them.

    Due to licensing issues, MPEG2 decoders cannot be free (ffmpeg and VLC violate the license), so you'll have to buy the decoder.

    Visit http://elecard.com, they have a nice range of MPEG2 products.