2012-10-27 41 views
2

我的游戏基于Flash,并使用RTMP向玩家发送实时视频。视频应该从单个位置传输到许多客户端,而不是客户端之间。 端到端的视频流应该具有非常低的延迟,小于0.5s是最基本的要求。Windows 8低延迟视频流

使用服务器和客户端上的许多调整,我能够实现约。在环回网络接口的情况下,RTMP和Adobe Live Media编码器的延迟为0.2秒。

现在的问题是将项目移植到Windows 8商店应用程序。本地Windows 8为IIS + http://playerframework.codeplex.com/提供流畅的流媒体扩展,适用于兼容实时流媒体播放的播放器+视频编码器。就编码器而言,现在我只测试支持实时流畅传输的Microsoft Expression Encoder 4。 尽管在播放器端使用了msRealTime属性,但延迟非常巨大,我无法通过调整编码器使其小于6-10秒。不同的消息来源指出,流畅的流媒体并不是低延迟视频流场景的选择,而且使用Expression Encoder 4似乎无法通过任何设置组合实现低延迟。有支持Smooth Streaming的硬件视频编码器,像Envivio公司或数字急流的,但是:

  1. 他们是昂贵
  2. 我不知道在所有的,如果他们能显著提高编码器端延迟,相比到表达式编码器
  3. 即使他们可以消除编码器的时间,其余的流畅的流媒体(IIS端)能否支持所需的速度。

问题:

  1. 什么技术可以,可以用来流与一秒的延迟Win8的客户如果有的话?
  2. 你知道与win8兼容的玩家还是可以轻松移植到支持rtmp的win8吗?

此外, Build 2012的实时翻译在桌面模式下使用Rtmp和Smooth Streaming。在Metro模式下,它使用RTMP和Flash Player for Metro。

回答

0

我可以确认Smooth Streaming不会成为您选择的技术。在完美条件下最好的情况下,你将得到的最好时间是几秒钟(绝对最小延迟本身就是块长度,即使其他部分都有0延迟)。

我认为最有可能的是RTSP/RTMP或类似的使用UDP是你最好的选择。我认为视频会议技术不仅仅是广泛的受众流媒体技术。如果我没有记错的话,那里有几个.NET组件可以处理用于视频会议的RTSP H.264 - 如果我稍后可以找到它们,我会在这里发布。

+0

谢谢,感谢您的任何链接。我现在知道的唯一可能的解决方案是Win8开发中心的“实时通信示例”。但它没有记录,并在我的机器上崩溃。 –