WebRTC 实时音频流/广播 [关闭]

Posted

技术标签:

【中文标题】WebRTC 实时音频流/广播 [关闭]【英文标题】:WebRTC Live Audio Streaming/Broadcast [closed] 【发布时间】:2013-01-08 13:47:52 【问题描述】:

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

我只是很难找到我能理解或最新的代码示例。如果有人可以帮助我首先在同一个浏览器中使用 html5/WebRTC 捕获和播放音频,我认为这将帮助我开始并一路走下去。

注意:我只关心让它在 Chrome(或 Chrome Canary 中工作!)。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

HTML5 Rocks article on WebRTC 可能是最好的介绍性文章,可以通俗地解释一切。

为了简单地捕获本地视频/音频,您需要专注于 MediaStream API(即 getUserMedia)。一旦你开始工作,你就需要开始研究 RTCPeerConnection API。

RTCPeerConnection API 的客户端代码非常简单,但信令所需的服务器端代码(即建立对等连接)可能很棘手。

我最终用 php 编写了我自己的服务器端解决方案,但为此我花了大约三周的时间将我的头撞到墙上(即试图破译 WebSocket specs)以使其正常工作。 如果您想查看实际代码,我可以发布一些我的工作代码。

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

【讨论】:

我也喜欢 HTML5 Rocks 文章 ;)。 (如果有任何不清楚、不正确或没有意义的地方,请添加 cmets。)我还在 docs.webplatform.org/wiki/tutorials/webrtc_resources 维护了 WebRTC 资源指南。最重要的是,通过简单的 W3C RTCPeerConnection 示例的 HTML5 Rocks 演练来了解信号与媒体/数据通信。在服务器端,您可能想尝试将 Node.js 与 WebSocket 结合使用,按照 HartleySan 的建议使用 Socket.IO。 @Sam Dutton,感谢您撰写这篇文章。在阅读您的文章之前,我什至不知道 WebRTC 是现实。最让我困惑的是信号。我认为有关此的更多信息会有所帮助。谢谢。 谢谢@HartleySan。我上个月更新了这篇文章,所以有更多关于信号的内容,但我会尝试提供更多信息。 我们可以看看你的 webRTC 服务器端 PHP 代码吗? 广播怎么样。顾名思义,WebRTC PeerConnections 是一种 P2P。使用它进行广播将需要每个连接一个连接,在更多人连接后不会很快扩展。广播对等方将不得不上传他/她端产生的大量数据。【参考方案2】:

如果您谈论的是 WebRTC 实时音频流/广播,而不仅仅是点对点通话,那么 WebRTC 不是为广播而设计的。在这里查看WebRTC - scalable live stream broadcasting / multicasting

【讨论】:

以上是关于WebRTC 实时音频流/广播 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

通过 socket.io 1.0 实时音频

使用 C++ 教程和示例代码进行音频流传输 [关闭]

节点(套接字)实时音频流/广播

使用流媒体广播 URL 开发商业应用程序是不是合法? [关闭]

使用 webrtc 进行音频广播

webRTC 真的可以在没有噪音的情况下流式传输高质量的音频吗?