如何编写客户端-服务器视频流

The*_*ask 3 .net c# video streaming rtp

我正在研究可以实时工作的项目:我必须编写一个视频流客户端服务器应用程序,该服务器将AVI / MPEG等发送到Web应用程序。我有一些问题:

  1. 建议使用什么协议来执行此操作,http?rtp?或其他?

  2. 在Web应用程序中,如何显示给用户?使用Flash Player,Java Applet(我不确定是否可以使用它)或HTML5,目前最好的方法是什么?

我希望这对您来说很干净。非常感谢您的帮助。提前致谢。:)

M.B*_*ock 5

有几种不同的方法可以实现此目的(有些需要编程,而有些则不需要)。您选择哪种取决于您的要求。

Red5是一个显而易见的解决方案,只要您选择的播放器是Flash,就可以让您仅专注于网络方面。

FlourineFx稍加努力即可为.NET提供类似的环境。

HttpListener如果您是在纯Windows / C#解决方案上进行设置的,我也使用IIS和自定义服务器来完成此操作,并且非常成功。我要在这里补充说明的是,它并不总是那么简单。在吞吐量受限的环境中,您会遇到问题,因为HTTP不能像RTP / RTMP / RTSP那样进行时间校正,但是在一个像样的网络中它可以工作3 9倍(尽管我只测试了一个播放器) )。

更新

如果您正在谈论使用.NET进行实时流传输,我建议您研究DirectShow(或相关的DirectX)API。.NET有一个名为DirectShow.NET的包装。