我对webRTC的能力很感兴趣,它可以从用户的机器上获取P2P的mp3音频。我发现的唯一例子是:本文中的https://webrtc-mp3-stream.herokuapp.com/ ( http://servicelab.org/2013/07/24/streaming-audio-between-browsers-with-webrtc-and-webaudio/ )
但是,正如您所看到的,接收端的音频质量非常差(45‘s\s),是否有任何方法可以获得一个完整质量的MP3流+处理该流的数据的能力(比如用均衡器调整频率)?
如果不可能通过webRTC,有没有其他闪存插件或没有插件的选择?
编辑:我还偶然发现了这个“大喊类”的家伙http://unltd.fm/,宣称他们正在使用webRTC提供包括流媒体mp3在内的高质量的无线电广播。如果是,那怎么做?
发布于 2015-02-20 02:52:53
WebRTC支持两个音频编解码器: OPUS (最大比特率510 G711 /s)和G711。你要坚持自己的观点,这是现代的,更有希望,在2012年推出。
webrtc-mp3流中的主要文件在2年前已经过时(2013年7月18日)。我在代码中找不到OPUS首选项,所以可能通过G711运行演示。
WebRTC -mp3流演示完成编码工作(MP3作为媒体源),然后通过WebRTC通过UPD/TCP传输数据。我不认为您需要解码到接收端的MP3,这将是一个过头。只需尝试使OPUS使webrtc-mp3流的代码更加最新。
请参考Is there a way to choose codecs in WebRTC PeerConnection?,以使OPUS能够看到差异。
发布于 2015-03-01 22:52:04
我是unltd.fm的创始人。
伊戈尔·波夫洛夫是对的,但我不能对此置评。我们还在WebRTC上使用OPUS (立体声/48 use )编解码器。使用网络音频解码mp3 (或任何其他音频格式),然后在OPUS中对其进行编码是可行的方法。你“只是”需要迫使SDP谈判使用作品。
你应该给我们发一封电子邮件,你会保存你的50分;)
发布于 2019-11-17 06:52:52
通过将SDP设置为立体声并增加最大平均比特率,可以提高流的质量:
let answer = await peer.conn.createAnswer(offerOptions);
answer.sdp = answer.sdp.replace('useinbandfec=1', 'useinbandfec=1; stereo=1; maxaveragebitrate=510000');
await peer.conn.setLocalDescription(answer);它应该输出一个SDP字符串,如下所示:
a=fmtp:111 minptime=10;useinbandfec=1; stereo=1; maxaveragebitrate=510000这使得立体声的潜在最大比特率为520 is /s,即每通道260 per。实际比特率取决于网络的速度和信号的强度。
您可以在:https://www.rfc-editor.org/rfc/rfc7587上阅读有关其他可用SDP属性的更多信息。
https://stackoverflow.com/questions/28439833
复制相似问题