gpt4 book ai didi

javascript - WebRTC - 如何区分通过同一连接发送的两个 MediaStreamTracks?

转载 作者:行者123 更新时间:2023-11-29 15:31:17 26 4
gpt4 key购买 nike

我想使用 WebRTC 将两个视频流从 Peer1 发送到 Peer2:让我们以前置和后置摄像头为例。

从概念上讲,Peer2 如何知道哪个流来自哪个摄像头?

MediaStream documentation提到所有 MediaStreamMediaStreamTrack 字段都是只读的,所以我不能直接向它们附加任何信息。我无法通过信令 channel 发送像 {"stream1 id": "camera", "stream2 id": "screenshare"} 这样的字典,因为 Peer2 将为每个流和轨道生成自己的 ID。

最佳答案

https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-msid-11

In the RTP specification, media streams are identified using the SSRC
field. Streams are grouped into RTP Sessions, and also carry a
CNAME. Neither CNAME nor RTP session correspond to a MediaStream.
Therefore, the association of an RTP media stream to MediaStreams
need to be explicitly signaled.

WebRTC defines a mapping (documented in [I-D.ietf-rtcweb-jsep]) where
one SDP media description is used to describe each MediaStreamTrack,
and the BUNDLE mechanism [I-D.ietf-mmusic-sdp-bundle-negotiation] is
used to group MediaStreamTracks into RTP sessions. Therefore, the
need is to specify the ID of a MediaStreamTrack and its associated
MediaStream for each media description, which can be accomplished
with a media-level SDP attribute.

This document defines a new SDP [RFC4566] media-level "msid"
attribute. This new attribute allows endpoints to associate RTP
media streams that are described in different media descriptions with
the same MediaStreams as defined in [W3C.WD-webrtc-20150210]., and to
carry an identifier for each MediaStreamTrack in its "appdata" field.

因此,在浏览器支持自定义 msid 之前,这似乎无法完成。

关于javascript - WebRTC - 如何区分通过同一连接发送的两个 MediaStreamTracks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34595851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com