WebRTC 连接不通过音频通道发送音频样本但有数据正在发送

时间:2021-06-19 09:19:20

标签: javascript webrtc

我目前有两个对等点设置为通过 WebRTC 发送音频(代码是为了以后支持更多动态变化的用户,所以它在一个类中,但其他方面应该是正常的),尽管它们确实连接了,并且确实发送了它们的音轨信息,两端都没有接收到音频。我按照文档运行 getStats() 并得到了我不明白的结果:

ID: RTCInboundRTPAudioStream_3738623979
Timestamp: 1624090959263.524
ssrc: 3738623979
kind: audio
trackId: RTCMediaStreamTrack_receiver_1
transportId: RTCTransport_0_1
codecId: RTCCodec_0_Inbound_111
mediaType: audio
jitter: 0.001
packetsLost: 0
remoteId: RTCRemoteOutboundRTPAudioStream_3738623979
packetsReceived: 22142
fecPacketsReceived: 0
fecPacketsDiscarded: 0
bytesReceived: 1664520  <---
headerBytesReceived: 631982
lastPacketReceivedTimestamp: 1624090959262
jitterBufferDelay: 0
jitterBufferEmittedCount: 0
totalSamplesReceived: 0  <---
concealedSamples: 0
silentConcealedSamples: 0
concealmentEvents: 0
insertedSamplesForDeceleration: 0
removedSamplesForAcceleration: 0
audioLevel: 0  <---
totalAudioEnergy: 0
totalSamplesDuration: 0

没有音频 (audioLevel: 0),没有接收到的样本 (totalSamplesReceived: 0),但是有字节被接收到(大约 29kbps,所以我相信该编解码器应该使用的更少:

ID: RTCCodec_0_Inbound_111
Timestamp: 1624092364725.83
transportId: RTCTransport_0_1
payloadType: 111
mimeType: audio/opus
clockRate: 48000
channels: 2
sdpFmtpLine: minptime=10;useinbandfec=1

根据谷歌搜索应该是 ~52kbps)

接收器和发送器轨道均未“静音”且已“启用”。

Wireshark 检测到以预期速率(每个数据包约 110 位)在端口之间发送的看似随机的比特(整个过程现在在两个浏览器中的本地主机上运行),因此很可能只是未正确接收音频发送。

我的代码与这里使用的代码非常匹配https://webrtc.org/getting-started/remote-streams(当然,因为它在一个类中)。 我尝试像这样在 addTrack 中设置流:peerConnection.addTrack(track, localStream) 并省略它 (peerConnection.addTrack(track))。

在 Brave(铬)和 Firefox 中的结果相同。

0 个答案:

没有答案