WebRTC 实时音频流传输/广播

11

我正在努力理解WebRTC。我需要能够通过网络浏览器捕获和流式传输实时音频。

我只是找不到能理解或更新的代码示例。如果有人能帮我学习如何在HTML5/WebRTC中首先捕获和播放音频,那将帮助我入门并开始进展。

注意:我只关心在Chrome(或Chrome Canary)中使其工作。

感谢您的任何帮助!

2个回答

18

HTML5 Rocks article on WebRTC是解释WebRTC的最佳入门文章,用通俗易懂的语言解释了一切。

如果只是简单地捕获本地视频/音频,您需要关注MediaStream API(即getUserMedia)。一旦您让它工作起来,那么您就需要开始研究RTCPeerConnection API。

客户端代码对于RTCPeerConnection API来说非常简单,但是需要用于信令的服务器端代码(即建立点对点连接)可能会很棘手。

我最终在PHP中编写了自己的服务器端解决方案,但是这花费了我大约三周的时间来理解WebSocket specs以使其正常工作。如果您想看到实际的代码,我可以发布一些我的工作代码。

如果您准备好接受挑战,我建议尝试自己编写服务器端脚本,否则,我会建议使用像Socket.IO这样的WebSocket库,它可以为您完成所有棘手的服务器端工作。


2
我也喜欢HTML5 Rocks文章;)。 (如果有任何不清楚,不正确或不合理的地方,请添加评论。)我还维护一个WebRTC资源指南,网址为http://docs.webplatform.org/wiki/tutorials/webrtc_resources。最重要的是,浏览HTML5 Rocks简单的W3C RTCPeerConnection示例的详细说明,以了解信令与媒体/数据通信之间的关系。在服务器端,您可能想尝试使用Node.js和WebSocket,并像HartleySan建议的那样使用Socket.IO。 - Sam Dutton
谢谢@HartleySan。我上个月更新了这篇文章,所以关于信号方面有更多内容,但我会尝试提供一些更多的信息。 - Sam Dutton
2
我们能看到您的WebRTC服务器端PHP代码吗? - Baba
这不是问题的答案,因为本文不会帮助您通过WebRTC进行广播。对于任何想要通过任何形式的广播扩展P2P服务的人来说,这个答案可能是有害的。 - igorpavlov
1
广播方面怎么样?WebRTC PeerConnections就像其名称所示的那样是一种P2P连接。使用它进行广播将需要每个连接一个连接,随着更多人连接,这种方式将无法扩展。广播方必须上传他/她端产生的大量数据。 - sçuçu
显示剩余2条评论

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接