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

时间:2012-02-05 03:53:44

标签: c# .net video streaming rtp

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

  1. 协议建议做什么,http? RTP?或其他?

  2. 在网络应用程序中,如何向用户显示?使用flash播放器,java applet(我不确定它是否可以使用它)或HTML5,目前最好的方法是什么?

  3. 我希望这对你来说很干净。任何帮助都非常赞赏。提前致谢。 :)

1 个答案:

答案 0 :(得分:5)

有几种不同的方法可以实现这一点(一些需要编程,另一些则不需要编程)。您选择哪一个取决于您的要求。

Red5是一个明显的解决方案,只要您选择的播放器是闪存,您就只需要专注于网络。

FlourineFx为.NET提供了类似的环境,而且需要更多努力。

我已经使用IIS和使用HttpListener的自定义服务器完成了这项工作,如果您使用纯Windows / C#解决方案,则会取得很大成功。我在这里添加的警告是,它并不总是很简单。在吞吐量有限的环境中,您会遇到问题,因为HTTP没有RTP / RTMP / RTSP所具有的时间校正功能,但是在一个不错的网络中,它可以在3个9的时间内工作(我只测试了一个单独的播放器) )。

更新

如果您正在谈论使用.NET的 live 流式传输,我建议您查看DirectShow(或相关的DirectX)API。可以使用名为DirectShow.NET的.NET包装器。