问题标签 [sdp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
91 浏览

sip - TURN 协议:远程用户的权限

我正在为 ICE 实现 TURN 协议。如果远程方在 SDP 中发送其 HOST、SERVER-REFLEXIVE 和 RELAYED-REFLEXIVE 地址,我们应该为 TURN 服务器中的所有(主机、SERVER 和 RELAYED)远程候选者创建权限,还是只创建 RELAYED-REFLEXIVE 地址?

谢谢并恭祝安康

0 投票
1 回答
288 浏览

h.264 - 解码 H264 包时,哪个 sprop-parameter-sets 具有更高的优先级?

我正在解码流媒体视频。它作为 RTP 包发送。在发送视频之前,接收方会获得一个 SDP 文件,其中包含sprop parameter sets.

但是,即使我删除了该参数,解码仍然有效。这就是为什么我假设sprop parameter sets它们也存在于 H264 包中(在 RTP 有效负载中)。

那么,我们可以有sprop parameter sets两个地方,哪个被认为是优先的?

0 投票
1 回答
790 浏览

ffmpeg - FFMpeg 未将 SDP 信息打印到控制台

我试图创建一个 FFMpeg 流并从 VLC 播放器中读取它,但我收到一条错误消息,指出需要 SDP。然而,FFMpeg 并没有按预期将 SDP 信息打印到控制台。如何获取流的 SDP 文件?

这是我用来流式传输的命令

0 投票
4 回答
8544 浏览

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

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

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

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

这是 SDP 示例:

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

0 投票
1 回答
3625 浏览

android - 无法连接到蓝牙/BlueZ 服务器:无法创建 RFCOMM 套接字

我正在尝试在我的 Linux 笔记本电脑和 Android 手机之间创建一个简单且自定义的蓝牙连接。在 Linux 方面,我使用 BlueZ libbluetooth 库来设置服务器。它的代码与我在 github 上看到的其他代码非常相似:

我能够在 Linux 中运行服务器端代码而不会出错:

然后我可以sdptool用来查看我的 RFCOMM 套接字和服务(描述、通道号和所有其他信息看起来都正确):

现在,在 Android 方面,我首先通过标准设置屏幕将手机与 Linux 服务器配对。配对后,我会使用 Android 端的代码来扫描蓝牙设备,如果它是我的 Linux 设备,那么我会尝试连接到它。我尝试了人们在堆栈溢出时建议的两种不同方法来建立连接:

tmp.connect()当我实际尝试调用时,我不断收到以下异常:

有没有人看到我在这里尝试创建连接时做错了什么?请注意,当我调用时,我确实得到了一个返回的 UUID UUID uuid = device.getUuids()[0].getUuid();...这让我相信配对是好的,它返回 value 00001103-0000-1000-8000-00805f9b34fb

0 投票
1 回答
299 浏览

matlab - 在 Yalmip 中使用 Sedumi 结果不正确

我想在 Matlab 中使用 Yalmip 来解决 sdp 问题,

以下是代码

结果如下所示

我对结果很好奇,我有约束 P(2,2)==1,而在最终结果中,P(2,2)=5.87,为什么会发生这种情况?任何人都可以帮忙吗?

0 投票
2 回答
27683 浏览

sip - 从 sdp 中的 profile-level-id 识别 h264 配置文件和级别?

在 SIP 视频通话中,视频流的接收者使用其解码器的功能进行响应。

定义它的参数是profile-level-id. 以下是 profile-level-id 参数的示例值:428014

RFC 6184 将其定义为

序列参数集NAL单元中以下三个字节的base16 [7](十六进制)表示在1中指定:1)profile_idc,2)此处称为profile-iop的字节,由constraint_set0_flag,constraint_set1_flag的值组成、constraint_set2_flag、constraint_set3_flag、constraint_set4_flag、constraint_set5_flag 和 reserved_zero_2bits,从最高有效位开始,以及 3) level_idc。

据此,可以从示例值中识别以下参数:

  • profile_idc 42
  • 配置文件 iop 82
  • 级别-idc 14

如何将这些数字与为 h264 定义的配置文件级别相关联?

0 投票
2 回答
3433 浏览

javascript - 在 FireFox 中修改 WebRTC 的 SDP 约束

我正在尝试降低RTCPeerConnectionFireFox 中的比特率。我已经成功地能够在 Chrome 中进行操作。

我正在修改调用该createOffer方法后由 FireFox 自动生成的 SDP 字符串。我的回调修改了 SDP,然后尝试在RTCSessionDescription生成的 SDP 中设置 SDP(这只是DOMString根据协议规范)。在 Chrome 中,我可以修改该 SDP 字符串,然后设置它(在传递给的回调中完成createOffer

但是,这似乎在 FireFox 中不起作用,它不会在我分配后更新 SDP,并继续使用该createOffer方法生成的字符串。

具体来说,我试图通过在 SDP 的视频媒体部分中添加线路来专门添加对所提供的编解码器和带宽的fmtp: max-fr=15; max-fs=400;限制。VP8b=AS:512

SDP自动生成后FF不允许修改吗?或者 FireFox 是否不允许作为 SDP 标准化一部分的特定 SDP 选项(如带宽限制和编解码器设置)?

编辑:说真的火狐??

0 投票
0 回答
754 浏览

javascript - 错误:无法下推传输描述:无法应用远程指纹

我编写了两个单元测试来验证提供/应答机制是否在我的应用程序中正确实现。第一个单元测试在收到报价时验证对等方的行为,而第二个单元测试在创建报价时验证对等方的行为。对于我的单元测试,我使用了以下模拟报价和模拟答案:

提供 :

回答 :

注意:它们是使用 createAnswer 和 createOffer 方法生成的。

  • 第一个问题为什么有两个指纹字段?

第一个单元测试反映了对等方收到远程提议并回复答案时的场景。我用报价调用 setRemoteDescriptor,然后用答案调用 serLocalDescriptor。该测试工作正常,不会引发错误,并且 SignallingState 会根据执行的操作而更改(即 setRemoteDescriptor 导致 SignalingState 更改 have-remote-offer 等..)。

单元测试 :

第二个单元测试使用相同的模拟答案和报价,但它反映了当对等方创建并设置本地报价并将从远程对等方收到的答案设置为远程报价时的场景。测试使用报价调用 setLocalDescriptor。结果,SIngnalingState 更改为 have-local-offer。然后使用 mockAnswer 调用 setRemoteDescription。此调用生成以下错误:

可能是什么原因?难道我做错了什么?offer和answer中的指纹完全相同,如果指纹有问题,那么第一次单元测试也应该有问题。我一无所知。欢迎任何建议,建议。:D

单元测试失败:

RPCPeerConnection 对象,当产生错误时:

完整的源代码可以在这里找到

如果您需要更多信息,请与我们联系。

0 投票
2 回答
9404 浏览

h.264 - H264 profile-iop 解释

从 sdp 中的 profile-level-id 识别 h264 配置文件和级别?

如何确定约束的实际含义?例如,我有一个profile-type-id: 42801e翻译为:

在此处输入图像描述

我如何将其与此处表格中定义的功能联系起来?

上面的参考资料表明这Constraint_set0_flag: 1意味着它是Constrained Baseline Profile。但是如何将标志与区分基线配置文件和约束基线配置文件的三个不同的 NO(来自表相关

更新

无法确认上述关于识别 的Constrained Baseline profile内容是否正确。该声明的参考(第 306 页):

似乎只满足第一个条件,但第二个条件是错误的。基线配置文件状态的参数

在特定级别符合 Baseline 配置文件的解码器应能够解码其中 profile_idc 等于 66 或 constraint_set0_flag 等于 1 并且其中 level_idc 和 constraint_set3_flag 表示小于或等于指定级别的级别的所有比特流。

他们都在场。