WebRTC:对多个对等连接使用相同的 SDP?

2024-02-11

是否可以在多个对等连接中使用相同的 SDP?

我正在使用 WebRTC 构建视频会议。这个想法是,呼叫者使用某种信令机制,使用其 SDP(每个用户相同的 SDP)向所有其他用户发送广播消息,然后用户将使用其 SDP 进行响应。

当用户收到某人的SDP时,他用它来设置远程描述,如下所示:

connection = new RTCPeerConnection()
desc = RTCSessionDescription({sdp: SDP, type: "offer"});
connection = setRemoteDescription(desc);

这是 SDP 示例:

v=0
o=- 6843023960119608301 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE audio
a=msid-semantic: WMS
m=audio 1 RTP/SAVPF 111 103 104 0 8 106 105 13 126
c=IN IP4 0.0.0.0
a=rtcp:1 IN IP4 0.0.0.0
a=ice-ufrag:q36dZRVoaS4ixPYP
a=ice-pwd:K5yAm4A+zGoIKIgsX9o4VgDA
a=ice-options:google-ice
a=fingerprint:sha-256 62:3E:99:2F:FF:D4:58:7C:F0:A1:02:3F:09:2B:D1:F3:71:D7:F6:59:62:12:E4:1B:4A:68:01:4C:43:E0:D1:75
a=setup:actpass
a=mid:audio
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=recvonly
a=rtcp-mux
a=crypto:0 AES_CM_128_HMAC_SHA1_32 inline:Tdz5Z3KHB3Xosqr5D53WZfi7Zndz+932X3H46Qvf
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:NJO4XhhHUgiJRCfyYzDgajkCJAF/9BX8QeU+FKQs
a=rtpmap:111 opus/48000/2
a=fmtp:111 minptime=10
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:126 telephone-event/8000
a=maxptime:60

我在这里没有看到任何独特的东西,所以如果 B 和 D 将它用作远程描述,它会起作用吗?如果是 - 我怎样才能生成这个 SDP?我现在知道的唯一方法是使用RTCPeerConnection.createOffer但这将创建不需要的对等连接对象(根据我的想法,应在收到其他用户的响应后创建对等对象)。


不,WebRTC 不是这样设计的。您需要为一个对等点创建一个单独的 PeerConnection。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebRTC:对多个对等连接使用相同的 SDP? 的相关文章

  • 如何检测Android H.264硬件加速能力

    大量 但不是全部 Android 设备支持 H 264 视频编解码器的硬件加速 但不支持 VP8 VP9 编解码器 为了提供更高质量的用户体验 我们希望尽可能选择硬件加速的编解码器 因此 需要运行时检测特定设备是否具有 H 264 硬件加速
  • WebRTC 视频不显示

    我正在创建一对一的 webrtc 视频聊天室 但此代码不起作用 我想知道为什么 function hasUserMedia navigator getUserMedia navigator getUserMedia navigator we
  • CoTURN:如何使用 TURN REST API?

    我已经构建了 coturn 并成功运行它 ip 192 168 1 111 现在我面临的问题是通过REST API获取Turn凭证 https datatracker ietf org doc html draft uberti behav
  • getUserMedia() 权限被拒绝

    我正在尝试使用测试屏幕共享getUserMedia 我有 Chrome 版本 28 和getUserMedia 屏幕捕获标志已启用 但我仍然收到权限被拒绝的错误 On this 屏幕截图演示 http simpl info screenca
  • 为手势控制的网站生成事件

    我很高兴有机会在基于手势的网站上工作 对此我有一些启发 link http when it rains com gesture php 我访问了很多网站并用谷歌搜索 维基百科和 gitHub 也没有多大帮助 由于这些技术还处于起步阶段 因此
  • 是否可以使用 MediaRecorder() 获取音频数据的原始值

    我使用 MediaRecorder 和 getUserMedia 来记录浏览器中的音频数据 它可以工作 但是记录的数据是以 Blob 格式记录的 我想获取原始音频数据 振幅 而不是 Blob 有可能做到吗 我的代码如下所示 navigato
  • Android WebRTC 中的本地视频渲染器

    我正在使用这个库 https bintray com google webrtc google webrtc https bintray com google webrtc google webrtc 我想要实现的目标 至少在我的项目开始时
  • Microsoft Azure 媒体服务上的类似 Skype 的应用程序

    目前我正在研究一个类似 Skype 的应用程序的想法 例如 人们与其他人进行视频通话 现在我想运行这个微软Azure媒体服务 http azure microsoft com en us services media services 但是
  • 适用于高带宽应用的 WebRTC 数据通道

    我想通过 WebRTC 数据通道发送单向流数据 并且正在寻找最佳配置选项 高带宽 低延迟 抖动 以及其他人在此类应用程序中的预期比特率的经验 我的测试程序发送 2k 的块 使用 2k 的 bufferedAmountLowThreshold
  • 从 MediaStream 对象获取媒体详细信息(分辨率和帧速率)

    我正在捕获用户的相机 我想以尽可能最佳的分辨率捕获图片 所以我的代码类似于下面的代码片段 我想从传入流中读取分辨率详细信息 因此我可以将其设置为视频高度和宽度 我将用它来单击快照 我希望快照具有流提供的最佳质量 这可能吗 读取分辨率详细信息
  • 将 SDP(字符串)拆分为 m 行以更改视频编解码器

    我希望最后有一个方法可以将 VP9 或 H 264 设置为 SDP 中的首选视频编解码器 所以我正在我的 SDP 中寻找 m 行 m video 9 UDP TLS RTP SAVPF 96 98 100 102 127 97 99 101
  • 具有 3 个用户连接的 WebRTC

    我现在正在实施源代码WebRTC 示例 https github com webrtc samples tree gh pages src content peerconnection audio通过使用网状拓扑成为 3 个用户连接 但是
  • Android WebRtc 本地视频流无法在棉花糖上显示,但可以在棒棒糖上显示

    添加的库 libjingle peerconnection jar Version 1 7 0 101 libjingle peerconnection so so 等级依赖性 fi vtt nubomedia utilities andr
  • Android WebRTC 自定义捕获器

    我已经编译了 webRTC 演示应用程序 我看到捕获帧是由VideoCaptureAndroid java与本机代码紧密耦合的文件 我需要添加将我自己的帧推送到 webRTC 库以在视频通道上发送的功能 我可以用 C NDK 或 Java
  • 在 Objective C 中使用 static init 有什么好处?

    最近我发现来自 Github 的 webrtc ios 示例 https github com gandg webrtc ios 当我浏览该项目时 我注意到 VideoView 类使用静态方法 但我不确定这是否必要 VideoView 是
  • WebRTC 和 Asp.Net Core

    我想将音频流从我的 Angular Web 应用程序录制到我的 Asp net Core Api 我认为 使用 SignalR 及其 websockets 是实现这一目标的好方法 通过这个打字稿代码 我可以获得一个 MediaStream
  • WebRTC 与 python

    我想用 python twisted 制作一个流服务器 它接收 WebRTC 视频流 然后对其应用一些 OpenCV 算法 但是我找不到 WebRTC 的 python 模块 如何使用 python twisted 发送和接收 WebRTC
  • 有没有办法使用 getUserMedia 减少延迟?

    在尝试减少视频延迟的同时WebRTC通信时 我测量了视频捕获和视频显示之间的延迟 为了防止测量 WebRTC 涉及的延迟 我只是使用getUserMedia和一个 HTMLvideo显示流 我通过每帧显示时间戳来做到这一点 使用reques
  • 结束两个对等方之间的 WebRTC 视频通话

    我已经使用以下命令在两个同伴之间建立了视频聊天WebRTC 我想让一个对等方结束聊天 并让另一个对等方知道聊天已结束 聊天结束后 需要为双方执行一些代码 这PeerConnection对象有一个removeStream 应该触发的方法onr
  • React Native - 在 Android 中显示传入视频通话屏幕(VOIP 应用程序)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试实施视频通话React Native 应用程序中的功能 我用过React 原生 twilio 视频 webrtc https

随机推荐

  • 维基百科文本下载

    我正在寻找为我的大学项目下载完整的维基百科文本 我是否必须编写自己的蜘蛛才能下载此内容 或者是否有在线维基百科的公共数据集 为了给你一些我的项目的概述 我想找出我感兴趣的几篇文章中有趣的单词 但是为了找到这些有趣的单词 我计划应用 tf i
  • spring 作用域代理 bean

    谁能解释一下弹簧的用途 ScopedProxy注解 我thought它与会话范围的 bean 有关 但我不太确定是什么 在我对范围的使用中 我使用了会话范围的 bean 但没有使用 ScopedProxy注释 或没有 aop 作用域代理 所
  • CSS 在某个点改变背景颜色

    我希望当某个元素进入视图时整个网站的背景从白色变为黑色 因此 当您滚动元素时 背景会变为黑色 当您向后滚动时 我希望页面的背景颜色变回白色 谢谢你 HTML div class colorChange div
  • Google Places API - getQueryPredictions 受国家/城市/州限制吗?

    下面是 google 给出的 getQueryPredictions 示例 service getQueryPredictions input pizza near callback 有没有办法限制特定国家 城市 州的结果 其他功能 组件有
  • .NET 写入 PCAP 文件

    All 我花了一天的大部分时间查看各种 PCAP 库 在我承诺编写 PCAP 编写器之前 我想描述一下我的场景并征求意见 我有一个客户要求我提供一项服务来读取 pcap 文件并将数据包写入他们选择的数据库中 然后 客户端可以查询数据库 日期
  • 从多选ListView返回值

    编辑 好的 我找到了解决方案 不知道这是正确的解决方案 但它确实可以正常工作 添加到下面的代码中 我试图允许用户从清单中选择多个目录 并在单击 提交 按钮后返回它们 这是我的代码片段 它使用 sdcard 上的所有目录填充 ListView
  • 通过特定属性的值在数组中搜索对象的最有效方法

    实现搜索方法的最快 最有效的方法是什么 该方法将返回具有限定条件的对象id 示例对象数组 array object id gt one color gt white object id gt two color gt red object
  • 在字符串中每两个字符后插入冒号(:) 的方法是什么?

    我试图弄清楚 INPUT String data 506313B5EA3E OUTPUT String data 50 63 13 B5 EA 3E 我尝试使用 java util Arrays toString data split lt
  • 无法打开文件(在项目“Pods”的目标“React”中)(在目标“React”中)

    我有一个reactNative项目 我正在尝试在最新的xcode 10 1中运行 但是在我构建时它抛出了两个错误 error Users ios Pods Target Support Files React React xcconfig
  • 在 Eclipse 中调试 JavaScript

    如何在 Eclipse 中调试 JavaScript 我使用的是 Eclipse 3 2 1 每次我单击侧面时 它都会提供添加书签的选项 但没有断点 有人可以帮助我吗 2015年 在Eclipse中调试JavaScript至少有六种选择 自
  • Apache Kafka 和 Avro:org.apache.avro.generic.GenericData$Record 无法转换为 com.harmeetsingh13.java.Customer

    每当我尝试从 kafka 队列读取消息时 我都会收到以下异常 error run main 0 java lang ClassCastException org apache avro generic GenericData Record
  • if else 不检查 Python 中的两个条件

    我希望根据特定条件创建新列 pred n 条件如下 如果年份小于或等于当前年份且月份小于当前月份 则 pred n 应等于 yhatpct 否则应为yhatpct ft 尝试以下语法 if dfyz year x lt datetime n
  • FCM 服务不可用 nack

    我有一个 python3 程序 可以成功连接到 FCM XMPP 测试服务器 但是 发送 JSON 后 它返回给我一个SERVICE UNAVAILABLE每次nack消息 上周的同一段代码运行得非常好 The 文档 https fireb
  • Django 模型管理器.py 和 models.py

    鉴于以下情况 模型 py from managers import PersonManager from django db import models class Person models Model first name models
  • 电对模式和 Python 三引号

    有没有办法在电对模式下启用自动配对Python三引号 这可以在自动配对模式下使用进行配置autopair python triple quote action 是否有类似的方法可以在电对模式下启用此功能 您可以执行以下操作 defun py
  • Rails 在开发模式下不会记录模板错误

    我的 Rails 3 2 9 app 没有向我显示任何有关错误的具体错误信息在模板中 无论我使用 haml 还是 erb 我总是会得到 我们很抱歉 但有些不对劲 事实上 韦布里克is in 发展模式 如果我的模型或控制器出现错误 我会看到完
  • 如何在 GDAL ruby​​ 绑定中显式关闭数据集?

    我在用GDAL https gdal org 1 7 1 从ruby1 9生成GeoTIFF文件 在里面tutorial https gdal org tutorials raster api tut html他们建议使用 GDALClos
  • Ubuntu 11.10链接perftools库

    我无法让 Ubuntu 11 10 中的 gcc 正确链接到 google perftools lprofiler 问题似乎是链接器丢弃了程序中未直接使用的库 一个例子会有所帮助 我们称之为 main cpp include
  • Xamarin iOS UIButton 如何以编程方式单击按钮?

    我试图通过在 ViewWillAppear 函数中以编程方式调用按钮来伪造单击按钮的行为 onclick 函数是在我的 ViewDidLoad 中定义的 您可以看到我正在尝试使用执行选择器来手动调用按钮 该按钮似乎没有运行 有任何想法吗 p
  • WebRTC:对多个对等连接使用相同的 SDP?

    是否可以在多个对等连接中使用相同的 SDP 我正在使用 WebRTC 构建视频会议 这个想法是 呼叫者使用某种信令机制 使用其 SDP 每个用户相同的 SDP 向所有其他用户发送广播消息 然后用户将使用其 SDP 进行响应 当用户收到某人的