Windows 8低延迟视频流
我的游戏基于Flash,并使用RTMP向玩家提供实时视频。 视频应该从单个位置传输到许多客户端,而不是客户端之间。 端到端的视频流必须具有非常低的延迟,小于0.5s是必不可少的要求。
使用服务器和客户端的许多调整,我能够实现约。 在环回网络接口的情况下,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似乎无法通过任何设置组合实现低延迟。 有一些硬件视频编码器可以支持流畅的流媒体播放,比如来自envivio或数字激流的视频编码器:
问题:
加成。 Build 2012的实时翻译在桌面模式下使用Rtmp和Smooth Streaming。 在Metro模式下,它使用RTMP和Flash Player for Metro。
我可以确认Smooth Streaming不会成为您在此选择的技术。 在完美条件下的最佳场景下,您将获得的最佳效果是几秒钟(绝对最小延迟将是块长度本身,即使其他所有延迟都为0)。
我认为最有可能的RTSP / RTMP或类似的使用UDP是你最好的选择。 我认为视频会议技术不仅仅是广泛的受众流媒体技术。 如果我没有记错的话,那里有几个.NET组件可以处理用于视频会议的RTSP H.264 - 如果我稍后可以找到它们,我会在这里发布。
链接地址: http://www.djcxy.com/p/25935.html