How to write an client-server video streaming

2020-03-26 03:58发布

问题:

I'm working on project that will work real time: I have to write a video streaming client-server app, this server will to send the AVI/MPEG etc to an web application. I have some questions:

  1. What is the protocol recommend to do this, http? rtp? or other?

  2. In the web application, how do I to show it to user? using an flash player,java applet(I don't ensure if it's possible with it) or HTML5, what is the best way to do this currently?

I hope this is clean for you. Any help is very appreciadted. Thanks in advance. :)

回答1:

There are several different ways to implement this (some that require programming and others that don't). Which one you choose depends on your requirements.

Red5 is an obvious solution which will allow you to only have to focus on the web side as long as your player of choice is flash.

FlourineFx provides a similar environment for .NET with a little more effort.

I've also done this with IIS and a custom server using HttpListener with much success if you're set on a pure Windows/C# solution. The caveat I'd add here is that it isn't always simple. In an environment with limited throughput, you will have problems since HTTP doesn't have the time corrections that RTP/RTMP/RTSP have but in a decent network it works 3 9's of the time (I've only tested with a single player though).

UPDATE

If you're talking about live streaming with .NET I'd suggest looking into the DirectShow (or related DirectX) API's. There is a wrapper for it for .NET available called DirectShow.NET.