问题标签 [rtp]

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 回答
1424 浏览

network-protocols - 检测 RTP 流中使用的编解码器(用于动态 PT)

是否可以仅通过分析 RTP 流来检测 RTP 流中使用的编解码器?我知道 RTP 标头中的有效负载类型 (PT) 字段——可用于识别具有静态分配 PT 编号的编解码器。其他使用动态 PT 编号范围的编解码器呢?是否有任何启发式方法来检测有效载荷的类型?我对各种解决方案都感兴趣,即使检测仅适用于一种编解码器。

0 投票
4 回答
8962 浏览

android - 在 Android 上播放 RTP/TCP/AVP 视频流

我们正在尝试在Android平台上播放视频流,但没有成功。使用 VideoView,我们可以播放 youtube 移动视频(例如,此 url 可以正常工作:rtsp://v3.cache7.c.youtube.com/CjYLENy73wIaLQnMYzt2FtQmqxMYESARFEIJbXYtZ29vZ2xlSARSBXdhdGNoYI6vr52RlLW1Sww=/0/0/0/video.3gp)

但是,我们需要播放一个流(来自给定的 RTSP url),我们无法控制它。RTSP 服务器通过 RTSP 交错传送 RTP/TCP/AVP 数据包。通过端口 80 上的 HTTP 隧道支持 RTSP 本身。视频格式为 MPEG4-Part2 (H.263)。而且,rtsp url只能使用一次;每次都使用密钥字符串构建。在桌面系统上,quicktime 可以播放流,VLC 不能。

是否可以以某种方式在 Android 设备上播放这样的流?

我读了谷歌搜索,内置(openCore?)RTP 堆栈仅支持 RTP over UDP,不支持 TCP。这(仍然)是真的吗?我能以某种方式绕过这个问题吗?

谢谢!图里安德拉斯

0 投票
1 回答
2577 浏览

streaming - 通过 RTP 发送 MP3 文件

我想将 RTP 数据包中的文件 .mp3 发送到客户端。我所知道的是,我从 .mp3 文件中获取了多少字节以在每个 RTP 数据包中发送,也就是说,我在每个 RTP 数据包的有效负载字段中放置了 .mp3 文件的多少字节?

谢谢您的帮助。

问候!

0 投票
2 回答
17670 浏览

streaming - 模拟 IP 摄像机

我正在使用DVR旨在直接与 IP 摄像机对话的软件 ( )。我正在尝试将h264流直接传递给它,但如果我只是将流扔到它上面,它就不起作用。

你能推荐任何“欺骗”软件来模拟 IP 摄像机吗?为了争论,我们可以说我们要模拟的相机是Axis P3301.

鉴于很多软件都可以与 IP 摄像机对话,有没有办法使用vlc/ffmpeg看起来像 IP 摄像机的东西?

谢谢。

0 投票
1 回答
706 浏览

java - 将 mp3 从 java/c++ 服务器流式传输到 html5 的最佳方式?

我正在研究将 mp3 从 java(最好)或 c++ 服务器流式传输到另一台计算机上的 html5 浏览器。

我知道 html5(取决于浏览器)支持 rtp,所以如果可能的话,这将是最好的方法。

然而,就服务器端而言,我被卡住了。是否有任何 Java 库可以通过 rtp 启用 mp3 流式传输?我已经查看了 c++ 的 live555,但对于我正在寻找的东西来说,它似乎有点太重了。

还是我在处理这整件事上错了。基本上,我希望创建一个程序,用户可以在其中指向计算机上的 mp3 文件/其他用户可以打开网页并从那里流式传输这些 mp3 文件。

谢谢

0 投票
2 回答
6154 浏览

audio - Gstreamer:RTP 抖动缓冲区在丢包时无法正常工作?

对于 VoIP 语音质量监控应用程序,我需要将传入的 RTP 音频流与参考信号进行比较。对于信号比较本身,我使用预先存在的专用工具。对于其他部分(数据包捕获除外),Gstreamer 库似乎是一个不错的选择。我使用以下管道来模拟一个简单的 VoIP 客户端:

pcap 文件包含单个 RTP 媒体流。我制作了一个丢失原始 400 个 UDP 数据报中的 50 个的捕获文件。对于给定的音频样本(我的示例长 8 秒):

随着一定数量的连续丢包,我希望输出这样的音频信号(' -'表示静音):

但是实际保存在音频文件中的是这个(我的例子短了 1 秒):

似乎抖动缓冲区(此应用程序的关键部分)无法正常工作。pcapparse这可能是与元素的不兼容/缺点吗?我是否错过了确保时间同步的管道中的关键部分?还有什么可能导致这种情况?

0 投票
3 回答
1138 浏览

audio - QOS测量工具?

谁能推荐一个好的音频 QOS 监控工具?如果它是开源的并且可以免费获得,那就太好了。否则也很好。

我正在尝试在 PC 和移动设备上测量软件电话的 QOS。

0 投票
1 回答
3276 浏览

c++ - c++ 打孔UDP(RTP)

我正在做一个客户端-服务器语音聊天程序(非托管 C++,win32),其中客户端使用 TCP 连接到服务器,文本聊天/聊天室功能在 TCP 中完成,而所有音频传输都通过单独的 UDP/RTP 套接字发送(使用 API来自 JRTPLIB)。

所以从TCP连接中知道IP,建立连接后就可以发送RTP套接字的端口号了。

问题是,在 TCP 中,自从您建立连接以来,只有服务器需要进行端口转发才能双向进行通信,而在 UDP 中,您必须使用 recvfrom() - afaik 需要在客户端的第一名,我不想要(如果您查看任何多人游戏或 VoIP 客户端,则不需要)

阅读有关 UDP Hole Punching 的资源(例如http://en.wikipedia.org/wiki/UDP_hole_punching),例如他们不断提到开始与服务器进行 udp 对话。就是这样 - 你如何在客户端不必打开任何端口的情况下实际与服务器启动 udp 对话(双向)?正如我所提到的,在 TCP 中,您只需要 connect() 到服务器,并且两种方式都可以进行通信。

另外——我知道 RTP 是基于 UDP 构建的,但是关于 RTP 打孔(再次使用 JRTPLIB),我还应该知道什么使其与 UDP 不同吗?

提前致谢!

0 投票
3 回答
1152 浏览

c++ - JRTPLIB/标头包含问题

我在使用 JRTPLIB c++ win32 版本时遇到了一些问题,在 Visual Studio2010 中编译。(http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib)。我已经给作者发了邮件,但还没有收到回复。我遇到的问题是这样的:

我拥有的两个 .h 文件是:

主.h:

jrtlibtest.h:

所以我认为我需要在 jrtlibtest.h 中 #include windows.h 才能识别要定义的 WIN32(因此它不包括 unix .h 文件),但这反过来又给了我大约 100 个重新定义错误。

我不确定如何解决这个问题,我在图书馆主页本身或互联网上都找不到任何信息。有没有其他人遇到过这个问题?

干杯

0 投票
1 回答
594 浏览

java - Java & JMF:如何从参与者那里获取远程 IP?

我让参与者参加了 RTP 会话,我需要从该参与者那里获取 IP 地址。

我怎么做?

我的进口,应一位回答者的要求: