我想将实时视频流式传输到低延迟的浏览器 .
据我所知,有两个客户:
-
HTML5视频标记
-
Flash视频播放器
有多种方法可以发送流:
-
使用HTTP的TCP / IP,使用渐进式下载(和html5范围请求)
-
UDP(使用Flash)
并且有多种解决方案来广播流:
-
使用Apple的HTTP直播流(提供小文件段的m3u播放列表)
-
......?
并且存在通过因特网发布和分发流的问题 .
我需要的是
-
使用javascript同步视频内容
-
低延迟为许多 Spectator 提供了国家/地区
-
媒体服务器:(自定义)桌面应用(或浏览器解决方案)上传网络摄像头流
-
其他现有的服务媒体软件解决方案?
-
HTTP Live Stream是否会导致高延迟,因为需要对流进行分段并将其上传到小文件中? (排除html5解决方案?)
-
Flash播放器需要什么输入(即网络地址,服务器上的文件?)
-
Flash播放器对服务器有何需求? (还有,为很多 Spectator 分发?)
-
如何将视频流上传到Flash? (即现有的软件解决方案/是否可以编写上传网络摄像头流的自定义应用程序?)
非常感谢您回答这个精心设计的问题!!
2 回答
3年后,在2014年,WebRTC正在获得越来越多的采用和普及 . 虽然它仅限于现代浏览器,但其在质量和性能方面的优势远远超过过时的Flash或有限的HTML5解决方案 .
Google Hangouts使用WebRTC技术,第三方服务提供流式传输,广播和连接视频所需的库和服务器 .
如果您必须像您已经提到的那样考虑应用程序场景中的性能问题,那么您将不得不使用真正的流式传输 . 因此,您应该设置流服务器和流消费客户端 . 广泛可用的选项之一是使用red5开源流媒体服务器[http://www.red5.org/]为您的流媒体服务 . 另一方面,您可以使用flex sdk [http://flex.org/]为您的基于Web的客户端 . 通常的方法是使用与eclipse完全集成的flash builder,使用red5插件单独构建基于flash / flex的项目 .
这里有一个很好的入门教程:
Adobe Flex:使用Red5录制视频流[http://simplyolaf.blogspot.de/2009/07/adobe-flex-recording-video-stream-with.html]
教程:Red5服务器入门[http://www.red5tutorials.net/index.php/Tutorials:Getting_Started_With_Red5_Server]
完成该步骤后,您可以尝试根据需要更改流属性(缓冲区大小,延迟等) .