将实时视频流式传输到浏览器(具有低延迟)

时间:2011-12-21 17:52:51

标签: flash video stream live

我想将实时视频流式传输到低延迟的浏览器。

据我了解,有两个客户:

  • HTML5视频标记
  • Flash视频播放器

发送流的方法有多种:

  • 使用HTTP的TCP / IP,使用渐进式下载(和html5范围请求)
  • UDP(使用Flash)

广播流有多种解决方案:

  • 使用Apple的HTTP直播流(提供小文件段的m3u播放列表)
  • ...?

并且存在通过互联网发布和分发流的问题。

我需要的是

  • 使用javascript同步视频内容
  • 许多观众的国家/地区的低延迟
  • 媒体服务器:(自定义)桌面应用(或浏览器解决方案)上传网络摄像头流
  • 其他现有的服务媒体软件解决方案?

    1. HTTP Live Stream是否会导致高延迟,因为需要对流进行分段并上传到小文件中? (排除html5解决方案?)
    2. Flash播放器需要输入什么(即网络地址,服务器上的文件?)
    3. Flash播放器对服务器的需求是什么? (还有,为很多观众分发?)
    4. 如何将视频流上传到Flash? (即现有的软件解决方案/是否可以编写上传网络摄像头流的自定义应用程序?)

非常感谢您回答这个精心设计的问题!!

3 个答案:

答案 0 :(得分:1)

3年后,在2014年,WebRTC正在获得越来越多的采用和普及。虽然它仅限于现代浏览器,但其在质量和性能方面的优势远远超过过时的Flash或仅限HTML5的解决方案。

Google Hangouts使用WebRTC技术,并且有第三方服务提供流式传输,广播和连接视频所需的库和服务器。

答案 1 :(得分:0)

如果您必须像您已经提到的那样考虑应用程序场景中的性能问题,那么您将不得不使用真正的流式传输。因此,您应该设置流服务器和流消费客户端。广泛可用的选项之一是使用red5开源流媒体服务器[http://www.red5.org/]为您的流媒体服务。另一方面,您可以使用flex sdk [http://flex.org/]为您的基于Web的客户端。通常的方法是使用与eclipse完全集成的flash builder,使用red5插件单独构建基于flash / flex的项目。

这里有一个很好的入门教程:

完成该步骤后,您可以尝试根据需要更改流媒体属性(缓冲区大小,延迟等)。

答案 2 :(得分:0)

您还可以查看Ant Media Server。 Ant Media Server低延迟解决方案很棒。 Ant Media Server能够通过WebRTC技术实现超低延迟的流传输,该技术提供的典型值为0.5秒。可以通过云上的可伸缩群集基础结构将任何类型的实时流交付给广泛的客户端。提供Android,iOS和JavaScript SDK。 Ant Media Server Github页面:https://github.com/ant-media/Ant-Media-Server Ant Media Server Google组:https://groups.google.com/forum/m/#!forum/ant-media-server还要查看网站:https://antmedia.io