有没有人知道如何使用HTML5 websockets在Web应用程序中实现基于IP的语音/视频?
如果我能用PHP或Python实现它,那将是很好的,因为我(不幸的是)目前还不知道任何其他编程语言。
一个很好的教程,以及我必须付出的已经构建的解决方案。
UPDATE1:
添加了视频,因为它不仅与音频/ voip相关。
UPDATE2:
已经创建了第一个HTML5视频会议应用程序。看我自己的答案
答案 0 :(得分:27)
如果您只想使用HTML5,则需要一个实施 HTML Media Capture 草稿(可用here)的浏览器才能从麦克风访问原始数据。< / p>
掌握了这些数据后,您需要通过网络发送数据。 Websockets将是HTML5选项,可以与服务器进行足够快速的往返(发送本地音频数据并同时接收远程音频数据)
既然你提到python,我建议你看看twisted implementation的websockets。
您可以让所有客户端使用callerID在websocket服务器上“注册”,这样服务器就知道在哪里可以找到给定的callerID。
然后你的服务器需要一个“邀请”API,其中caller1“邀请”caller2。
一旦设置了呼叫并且每个客户端开始发送其音频数据,服务器就能够将此音频数据发送给另一方。
收到音频数据后,浏览器需要在扬声器上播放此音频数据,可能是使用HTML5录音带。
要做到这一点,你可能会被迫使用“技巧”:而不是让websocket服务器将原始音频数据转发到客户端,你可能需要模拟2个“无限”文件:
这听起来像是一个很酷的原型你要破解!
祝你好运,
Jerome Wagner
答案 1 :(得分:7)
似乎爱立信创建了第一个HTML5视频会议应用程序。
请参阅:labs.ericsson.com:
YouTube上的视频:Beyond HTML5: Conversational Voice and Video demo | Ericsson Labs
不幸的是,爱立信不想分享device_dialog.js
(还)。
答案 2 :(得分:3)
WebRTC可能是一个答案:http://www.webrtc.org/running-the-demos (目前只有启用了MediaStream标记的Chrome Canary)
请参阅演示:https://apprtc.appspot.com(确保您在适当的浏览器中观看)和代码http://code.google.com/p/webrtc-samples/source/browse/trunk/apprtc/
我写作的原因是......我有一个非常便宜的Android平板电脑,不能安装Skype,也不能安装Vtok,也不能在美国境外使用谷歌语音。我需要找到基于HTML5的解决方案,因为我能够运行Opera Mobile 12并使http://html5demos.com/正常工作
答案 3 :(得分:1)
@ work /得快点
查看javaScript getUserMedia(CanIUse) - API(W3)
答案 4 :(得分:0)
webrtc就是现在的答案。
对于node.js堆栈 - 您可以查看http://www.easyrtc.com/。请注意,IE尚未构建支持使webrtc工作的API。