【问题标题】:How to write an client-server video streaming如何编写客户端-服务器视频流
【发布时间】:2012-02-12 05:10:34
【问题描述】:

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

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

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

我希望这对你来说是干净的。非常感谢任何帮助。提前致谢。 :)

【问题讨论】:

标签: c# .net video streaming rtp


【解决方案1】:

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

Red5 是一个显而易见的解决方案,只要您选择的播放器是 Flash,您只需专注于网页端即可。

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

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

更新

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

【讨论】:

  • 感谢您的回复。您使用 IIS 和 HttpListener 编写的实时从设备(如 webCam 或等效设备)获取它?
  • 请原谅我试图澄清(您的评论不是很清楚),您是说您正在尝试找到可以从网络摄像头或类似设备流式传输的解决方案吗?如果是这样,那么该要求与您在上述问题中提出的要求有很大不同。我可能会考虑使用 DirectShow(或最近的 DirectX 库之一)来帮助您。不过,这样做并不是一件小事。
  • 正如你所说。也许我在这个话题中使用了错误的词。但我接受你的回答并寻找 DirectShow。如果您有关于 DirectShow 使用的信息,请给我链接。 :)
  • 实时可能与 live 不同。我已经用 DirectShow 的 .NET 包装器的链接更新了我的答案。
猜你喜欢
  • 2011-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-31
相关资源
最近更新 更多