我正在尝试将视频流从一台笔记本电脑发送到另一台笔记本电脑,并通过服务器进行路由。我们称它们为笔记本电脑A,向笔记本电脑B发送视频流。
在笔记本电脑A上,我对如何收集视频流没有特别的要求,但我在想,可能会有某种NodeJS服务器在运行,它会打开服务器的web套接字,以发送回视频流。
在笔记本电脑B上,我想在浏览器中的html5视频标签中呈现视频。
有没有人对如何在技术上做到这一点有什么建议?
我不太理解的差距是:*如何将流从笔记本电脑A发送到服务器(该服务器也可以运行NodeJS) *如何提供可以插入笔记本电脑B的视频标签中的视频流
谢谢!
发布于 2012-04-01 06:09:57
试图用javscript/html5来做这件事实际上是选择了错误的技术。您应该在客户端查看Flash (和RTMP),并使用任何免费(开源) Flash Media Server替代方案。(您必须具有Flash或Silverlight等插件才能访问网络摄像头数据-您的web浏览器/javascript无法访问网络摄像头。)
node-rtmp是一个用Node.JS编写的RTMP协议服务器,您可能会对它感兴趣。我自己还没有测试过node-rtmp,但它可以作为您的一个起点。如果它不适合您,还有其他多个RTMP服务器项目。(我经常使用Red5,它是用java编写的。)
在计算机A上,您需要一个Flash应用程序来获取您的网络摄像头数据,并将其发送到RTMP服务器。已经有开源项目这样做了,例如:https://github.com/AF83/webcam-streaming在Red5中也有这样的flash应用程序的示例代码,也可能在其他RTMP服务器项目中。
不能使用HTML video标记在计算机B上显示RTMP流。如果是RTMP流,则必须使用Flash播放器。可以将RTMP数据转换为其他数据,以便可以用HTML视频标签显示。它将(可能)与开源软件的组合,如Red5,rtmpdump,ffmpeg和一些http黑客,使其通过http。然而,我真的会考虑仅仅因为不运行Flash应用程序而做这些工作和麻烦是否值得……
在计算机B上,我会使用jwplayer (或任何jwplayer克隆)来播放RTMP流。
https://stackoverflow.com/questions/9960036
复制相似问题