问题标签 [rtsp]

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

http - rtsp over http 通过代理

我正在尝试使用代理通过 HTTP 获取 RTSP 流。Real 客户端的行为似乎有点忙:它一次尝试所有可能的端口、方法和协议。唯一应该工作的是通过端口 80 的 HTTP GET。确实发出了这样的请求,并在服务器上接收到。以下是代理将请求发送到服务器时的外观:

这是服务器的响应:

此时服务器又收到了 4 个字节(它们的值为 48 02 02 00)——仅此而已。服务器在这一点上是否期望客户端提供任何东西,如果是的话 - 什么?这种操作模式是否有效?

关于这个问题的更多信息:显然,RealPlayer 内置的通过 HTTP 使用 RTSP 的预期机制如下:

  1. 尝试连接到以下端口:80、8080、554、7070。(也可以通过在端口 80 上发出 GET http://hostname:port/mediafilename来直接下载文件)
  2. 对于上述每个端口,创建 2 个连接。
  3. 向 URL http://hostname:port/SmpDsBhgRl<guid> ?1="1"的连接之一发送 GET 请求,<guid>是的,这里是新创建的 GUID。向此请求添加一个名为 X-Actual-URL 的标头,其中包含原始 RTSP URL。
  4. 在另一个连接上向 URL http://hostname:port/SmpDsBhgRl发送一个 POST 请求,并将上面的 GUID 作为请求正文的一部分。发送 32767 字节的 Content-Length 标头,以防止代理过早关闭连接。
  5. 开始通过 POST 请求向服务器发出命令,并获取相应的 RTSP 流作为 GET 响应的一部分。

奇怪的东西(如果上面还不够奇怪的话)是,例如,它可以与 Squid 一起使用,但如果您使用端口 3128 或 8080 中的任何一个,则不能!不知何故,客户端使用它连接的端口来决定请求的顺序或何时取消请求,但无论如何,尽管难以置信,它可以使用代理端口 9090、3129、8081,但是不是 3128 或 8080。

更新 #2:是 RealPlayer 的源代码以及对上述行为的解释。虽然仍然没有解决方案。

更新#3:好的,根据上述,48 02 02 00 的魔法值很清楚: 48 == 'h' 是 for HTTP_RESPONSE,下一个 02 是后面数据的长度,下一个 02 被称为POST_NOT_RECEIVED(意味着 POST 请求在相应的 GET 请求后一秒钟内没有到达服务器)。

更新#4:这种行为(即具有巨大 Content-Length 的 POST 请求)也是 WebEx 使用的 ActiveX 的特征(可能还有许多其他需要与服务器建立开放通道的 Web 应用程序)。

0 投票
3 回答
3517 浏览

silverlight - silverlight mediaelement RTSP

据我所知,即使在版本 2 中,silverlight 也仅支持通过 http 进行流式传输,据我了解,mms 已转换为 http,因此您无法流式传输 RSTP(我已尝试对此进行测试并得到网络错误,除非我流式传输 http)。

有谁知道 Silverlight 是否支持 RSTP,或者是否支持以及如何支持?

谢谢

0 投票
3 回答
3429 浏览

streaming - 拆解:适用于 RTSP?

当用户单击视频 (RTSP) 流会话中的停止按钮时发送 TEARDOWN 是否合适?如果不是那为什么?

0 投票
5 回答
2963 浏览

java - 移动端视频流服务器

我看过视频流到手机。我想知道我们是否有可以安装在手机上的流媒体服务器,并将视频从手机上的摄像头流式传输到另一台设备。我想在我的诺基亚 N70 手机上使用。

0 投票
1 回答
960 浏览

mp3 - 如何使用 rtsp 播放音乐文件

如何使用 rtsp 广播 mp3 文件?

0 投票
7 回答
6645 浏览

apache-flex - Flex 中的 RTSP

我们目前正在开发一个 Flex 应用程序,该应用程序需要通过 RTSP 连接到一组交通检测摄像机。总的来说,我对视频流的世界是全新的,我想知道这是否可能。

AFAIK 无法在 Flash 播放器中使用 RTSP 提要,所以我认为我们需要在服务器上安装某种转换器,接收 RTSP 流并将其转换为 RTMP,以便我们可以在我们的弹性应用程序。我们希望 Red5 可以帮助我们做到这一点。

我的假设是否正确,有人这样做过吗?

0 投票
9 回答
55363 浏览

java - Java RTSP 客户端/服务器库

有人知道好的 RTSP 客户端/服务器 Java 库吗?

在 Google 上搜索显示 JMF,这是非常过时的。

谢谢。

0 投票
2 回答
13962 浏览

java - 用于 Java 的 RTSP 库

我正在寻找一个 RTSP Java 库,但我没有找到任何东西。有人可以建议我使用 Java 库来处理 RTSP 吗?

谢谢

0 投票
3 回答
49054 浏览

url - 在 Wireshark 中解码 URL

我正在尝试直接连接到 IP 视频服务器(“Nuuo”IP 服务器)的视频流。

他们的说明手册给出了“主页”的 URL——一个安装了一个可爱的小 activeX 控件的页面,该控件处理与实际视频服务器的所有交互。

我需要该内部服务器的 URL。[我不需要 activeX 控件提供的添加控件,并且处于 Internet Explorer 不可用的环境中。我只想要流]

我尝试了 Wireshark,它捕获了所有数据包,但没有显示不同页面的完整 URL。[即:如果物理设备位于 212.234.56.456,无论我连接到主页(212.234.56.456/home.html)还是连接到视频服务器(可能类似于 212.234.56.456/video.amp),它都会显示相同的 URL ),或设备内的任何其他内容。]

尽管头疼并搜索了他们的网站和手册,但我无法理解如何获取服务器的整个 URL。

有人可以指导我到教程或说明页面 - 或者只是说明如何做到这一点?

Wireshark 不一定是解决方案 - 我会很乐意使用其他东西(尝试过 Fiddler,但不知道配置它 - 默认情况下它不会捕获任何此类流量)

谢谢

编辑:协议是 TCP

视频端口:8000 [服务器中有一个选项可以更改端口。默认为 8000]

我正在尝试使用 VLC 或 RealPlayer [为了重新流式传输] 之类的东西而不是它附带的 activeX 控件连接到视频流。除了它出现在附加的数据包中之外,我对 TCP 一无所知。服务器正在编码为 MPEG 4 [h.264],并且应该是流式传输 RTSP://

我读过很多人使用 Axis 服务器(他们使用 VLC 连接到 rtsp://[server-ip-address]:554/axis-media/media.amp)和 Arecont 服务器(rtsp ://[服务器 IP 地址]/h264.sdp)。显然,这个页面在我使用的 Nuuo 服务器上是不存在的,它是为了和 Axis 设备竞争而设计的。

我加载了页面,启动了 Wireshark,然后按下了 ActiveXControl 上的播放按钮(开始播放视频)。下面是 Wireshark 捕获的第一个数据包 [在许多数据包中,它是对视频的请求]:

0 投票
5 回答
19788 浏览

c# - 简单的rtsp广播示例源码

我想使用 rtsp/rtp 广播我的程序的屏幕(不是静态屏幕),因为这样手机(至少是最近的手机)可以查看流。

我正在寻找一个简单的示例程序,它采用我提供的帧,使用编解码器对其进行编码,然后将其(使用 rtsp)发送给任何附加的客户端。

我在网上看过,到目前为止我能找到的都是成熟的开源媒体服务器(如 darwin),它们太复杂了,无法用作示例

任何帮助表示赞赏!

R

ps 将 jpegs 发送到手机实际上不是一种选择,因为这是非标准的,并且需要安装移动应用程序来解释“流”。

ps2 C、C++ 或 C# 都可以。