WebRTC:多个视频轨道,但实际上只有一个流播放

WebRTC: multiple video tracks but just one stream actually plays

提问人:Anton Zhdanov 提问时间:10/5/2023 最后编辑:Anton Zhdanov 更新时间:10/6/2023 访问量:30

问:

在我的应用程序中,我将流从连接到我的 Raspberry Pi 4B 的多个网络摄像头发送到远程客户端。 当我在 Raspberry 上运行发送部分,在其他地方运行客户端时,客户端只播放来自第一个设备的流(SDP 中的 m=0)。 for 显示第一个轨道正在通过网络发送,并设置了编解码器:chrome://webrtc-internalsinbound-rtp (kind=video, mid=0, ...)

Statistics IT01V1705444227
timestamp   04/10/2023, 11:16:41
ssrc    1705444227
kind    video
transportId T01
codecId CIT01_102_level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f
[codec] H264 (102, level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f)
jitter  

而缺少编解码器信息的同一部分:m=1

timestamp   04/10/2023, 11:18:39
ssrc    1119765391
kind    video
transportId T01
jitter  0
packetsLost 0

一些更相关的统计数据:

Stats graphs for inbound-rtp (m=0) Stats graphs for inbound-rtp (m=1)

不过,在发送端,显示两个轨道的编解码器信息:chrome://webrtc-internals

Stats graphs for outbound-rtp (kind=video, mid=0, ssrc=2351521644, [codec]=H264 (102, level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f), id=OT01V2351521644)
Stats graphs for outbound-rtp (kind=video, mid=1, ssrc=2638827077, [codec]=H264 (102, level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f), id=OT01V2638827077)

但是第二个的图表是一样的。

我尝试过使用 maxBitrate 和 maxFramerate 参数,认为高 CPU 使用率可能会限制第二个流,但它没有帮助?

有人可以帮我调试未通过网络发送的第二个流吗?

编辑:不知何故,第二首曲目在发送端得到“readyState=ended”。

WebRTC 树莓-PI4

评论


答: 暂无答案