问题标签 [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 投票
2 回答
593 浏览

voip - 使用 SIP 客户端远程拨号

我想使用我编写的简单非 SIP 客户端程序从我的电脑远程拨号,然后 wchich 将命令发送到专有 SIP 客户端,该客户端通过 TCP 连接接受远程命令。然后,专有的 SIP 客户端将使用我的 PC 的 IP 和 SDP 中的端口号拨打远程方用于 RTP。这原则上可行吗?是否有任何可用的开源客户端使用此概念?是否有任何可用的文档(IETF RFC、博客等)。

感谢在这件事上的任何帮助。

0 投票
1 回答
1914 浏览

c# - 如何在网络 SIP 电话上发送 mu-law (G.711) 编解码器 wav 文件并在那里播放

我正在努力通过 SIP 电话上的网络将 mu-law (G.711) 编解码器 wav 文件作为二进制数据发送,并希望在该 SIP 电话上播放此 wav 文件。下面是 C# 中的代码。谁能告诉我我做错了什么?

0 投票
2 回答
1333 浏览

android - 我是否需要 SIP 服务器/注册器来实施 SIP 对讲系统?

我是否需要 PBX 或 SIP 服务器来允许两台设备通过 SIP 进行通信?

假设一台设备(Android 或 IOS)知道另一台设备的 IP 地址。该设备不能直接向另一个设备发送邀请并开始对话,而不需要 SIP 服务器吗?还是我过于简单化了,而 SIP 服务器做了一些我错过的神奇事情?

谢谢,迈克

0 投票
4 回答
29574 浏览

windows - 如何从 FFMPEG 生成 SDP 文件

因此,我一直在与 FFMPEG 合作开展一个项目,该项目涉及使用 RTP 通过互联网将视频从一台计算机流式传输到另一台计算机。我想把它带入 ffmpeg 并使用 ffserver 在本地网络上显示它。

据我了解,您需要有一个 SDP 信息,以便接收 ffmpeg 实例可以解释 RTP 流。尽管网页上说了什么,但我在打印到控制台的信息中找不到 SDP 信息。

如何强制发送 ffmpeg 实例输出 SDP 信息,以便我可以使用它来配置我的接收端?

现在,我正在 Windows 7 上进行测试,但最终的解决方案将在 linux 上。

我正在运行的测试命令是

我的ffmpeg信息是...

0 投票
2 回答
279 浏览

regex - 这个正则表达式有什么问题?(向前看和向后看)

我尝试提取 SDP 包的媒体描述。

我有一条线

(之后总是有回车)

我想要 a=rtpmap:[number][whitespace] 之后的所有内容,直到回车,没有返回本身并构造了以下 Regex,它不起作用:

如果我喜欢

我至少得到了一个结果,但 rtpmap 之后的数字并不总是 3 个字符长。为什么 + 在这里不起作用?

0 投票
0 回答
497 浏览

libvlc - 使用 sdp 会话播放流?

我有一个 sdp 会话结构,其中包含所有相关信息,如音频端口、视频端口等。现在,如何使用这个 sdp 会话结构来使用 libvlc 库播放媒体?

请帮忙。提前致谢。

0 投票
2 回答
3874 浏览

android - 授予应用程序 root 权限

我有一个由本机部分和更高层组成的应用程序。

因此,需要授予它 root 权限才能运行一些本机功能。

正如我之前发布的文章,我添加了一段取自 Bluez Utils(hidd.c) 的代码。

该代码已由 NDK 构建为 .so。

不幸的是,它一直返回 -1 并且 errno 是 13,这意味着 Permission Denied。

一些经验丰富的开发人员(在此感谢您)提到该错误的发生是因为此应用程序没有足够的权限。

它“不应该”类似于

进程进程 = Runtime.getRuntime().exec("su");

我认为这意味着您拥有系统权限,但您的应用程序没有。(如果我错了,请告诉我)

有什么方法可以授予应用程序具有 root 权限?

任何回复/线索/提示将不胜感激。

问候-

山姆

0 投票
1 回答
1907 浏览

ffmpeg - Darwin 流媒体服务器的 ffmpeg SDP 文件

我正在制作一个流媒体服务器,以在我的移动设备上查看我的网络摄像头的实时视频源。

我考虑使用 ffmpeg 、 VLC 和 DSS 并进行了以下设置,尽管跳过了帧:-

video4linux2 > ffserver > VLC 转码 > DSS

(RAW 到 ffserver)>(输出到 SDP 链接)>(SDP 链接到 SDP 文件)>(SDP 文件到实时流式传输到移动设备)

后来,在测试 VLC 时,我发现我的上网本(Intel Atom N480)效率非常低且速度很慢,因为它跳过了很多帧。

DSS 可以从其 /usr/local/movies(默认)流式传输 SDP 文件。

同时,ffmpeg 的 ffserver 模块可以将实时提要流式传输到 SDP 链接(不是 SDP 文件)。

我的要求是我需要在 DSS 的 /usr/local/movies 目录中创建 SDP 文件,以便通过此 DSS 进行流式传输。

那么,如何从 ffmpeg 创建 sdp 文件或如何从 SDP 链接创建 SDP 文件(不使用 VLC 的转码)。

怎么做 ?

0 投票
4 回答
3647 浏览

video - SIP/SDP 提议中 H.264 SPS/PPS 的语法

根据 RFC 6184:

H.264 的附件 B 定义了一个封装过程,以通过面向字节流的网络传输此类 NALU。在本备忘录的范围内,附件 B 不相关。

我看到很多这样的 SPS/PPS 示例,包括在 RFC6236 中

但是,根据 H.264 的附件 B,不应该有逗号,并且必须在 SPS 和 PPS 的开头添加前导码(然后将 SPS/PPS 转换为 base 64)。

所以我不明白什么是正确的做法。

0 投票
1 回答
8095 浏览

sockets - 蓝牙:如何使用 Bluez 创建一个套接字以连接到具有特定 UUID 的服务?

我正在使用 BlueZ 库来管理 linux 下的蓝牙堆栈。我正在尝试打开一个应该与已知 UUID 的特定服务连接的套接字。我已成功尝试按照此处的示例打开服务器和客户端之间的套接字:

http://people.csail.mit.edu/albert/bluez-intro/c404.html

其中还描述了如何探索远程主机中的服务;但是,我无法弄清楚如何在连接套接字时指定 UUID。这在其他情况下非常简单,因为它在使用 Android 库时会发生;但是,对于 BlueZ,我还没有在网上找到示例。

谢谢您的帮助!

斯特凡诺

-- 在回复中补充了一些细节……不知道对不对;如果没有,对不起


感谢您的帮助!

在我的帖子中,我说我想连接一个具有指定 UUID 的套接字,因为我想到了一个像 createRfcommSocketToServiceRecord 这样的函数,可以在以下位置找到:

http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#createRfcommSocketToServiceRecord%28java.util.UUID%29

它返回给定特定 UUID 的套接字。我正在开发两个软件,一个是客户端,另一个是服务器,因此这是我正在创建的服务,而不是标准服务。我使用指定的 UUID 在服务器上发布此类服务,并且我想从客户端连接到它。服务器运行良好,因为使用 android 平台,利用提到的 createRfcommSocketToServiceRecord 方法,我能够使用正确的服务连接到服务器。

您发布的示例也很清楚,但不幸的是它是在 Python 中,而(我忘了指出)我使用 Bluez 作为 C 库。我能够利用 SDP 并检查远程服务器上的服务;但是,在设置套接字时,我看不到如何指定端口。我想到了 rc_channel,但据我了解,它是蓝牙通道(范围从 1 到 11 或类似的东西)。您能否指出在客户端创建套接字时我应该能够在哪里指定端口?在 sdp 处理的复杂结构中,我在哪里可以找到正确的端口?——参考:

http://people.csail.mit.edu/albert/bluez-intro/x604.html

再次感谢您的帮助!