我正在从事实时工作的项目:我必须编写一个视频流式客户端-服务器应用程序,此服务器会将 AVI/MPEG 等发送到 Web 应用程序。我有一些问题:
建议执行此操作的协议(protocol)是什么,http?实时协议(protocol)?或其他?
在 Web 应用程序中,如何向用户显示它?使用 Flash 播放器、Java 小程序(我不确定是否可以使用它)或 HTML5,目前最好的方法是什么?
我希望这对你来说是干净的。非常感谢任何帮助。提前致谢。 :)
最佳答案
有几种不同的方法可以实现这一点(有些需要编程,有些则不需要)。您选择哪一个取决于您的要求。
Red5是一个显而易见的解决方案,只要您选择的播放器是 Flash,您就可以只关注 Web 端。
FlourineFx为 .NET 提供类似的环境,但需要付出更多努力。
如果您使用的是纯 Windows/C# 解决方案,我也使用 HttpListener
使用 IIS 和自定义服务器完成了此操作,并取得了很大成功。我要在这里补充的警告是,它并不总是那么简单。在吞吐量有限的环境中,你会遇到问题,因为 HTTP 没有 RTP/RTMP/RTSP 所具有的时间校正,但在一个体面的网络中,它可以工作 3 个 9 的时间(虽然我只用一个播放器测试过).
更新
如果您正在谈论使用 .NET 进行直播流式传输,我建议您查看 DirectShow(或相关的 DirectX)API。有一个适用于 .NET 的包装器,名为 DirectShow.NET .
关于c# - 如何编写客户端-服务器视频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9146770/