问题标签 [live555]

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

android - NDK xlocale.h 异常

尝试加载 live555 库但在执行 ndk-build 时出现以下错误

xlocale.h 不在 live555 代码中

我应该怎么办?

0 投票
0 回答
818 浏览

video-streaming - 快速和肮脏的播放设置

我正在尝试使用 VLC 通过非常低的带宽连接来解码和显示来自 RTSP 服务器的 H264 视频流。这样做 VLC 最初设法建立 RTP 流。但片刻之后,视频冻结并停止,同时引发以下错误:

当将“网络缓存”增加到约 20 秒时(出于显而易见的原因),这些错误就会消失。但由于这是一个实时视频流,延迟是一个问题,因此增加网络缓存是不可取的。

但是,我不需要 VLC 默认提供的流畅播放和音频同步等花哨的东西。显示最新解码帧的快速而肮脏的解决方案对我来说绰绰有余。我知道这大大减少了使用 Gstreamer 的延迟。所以我正在寻找一种在 VLC 中做到这一点的方法。是否可以使用设置标志或者我必须修改源?

提前致谢

0 投票
1 回答
372 浏览

udp - 直接在 udp/tcp 上支持 iptv

我曾经在 android 上支持 live555 客户端。它应该使用 rtp 而不是 udp/tcp。现在我被要求在单个程序中直接在 udp/tcp 上运行它。坦率地说,没有 rtcp/rtp,如何重新排序 udp 帧?

0 投票
1 回答
3011 浏览

video-streaming - 来自 ffmpeg 编码器的 live555 低延迟视频流

我正在尝试实现一个通过 rtsp 从我的网络摄像头流式传输视频的应用程序。我已经完成了从网络摄像头编码到 h264 视频的部分。

我正在尝试将 live555 用作流媒体服务器,但我找不到任何好的示例或文档来使用它。代码也没有太多的赞誉。

任何人都可以给一些吗?或其他适合此目的的图书馆。

0 投票
1 回答
689 浏览

streaming - Failed to find network address

i installed openRTSP on UBUNTU and try to call url rtsp://simplelive.nexg.tv:554/starplus_mpeg.sdp using the command

i am getting the error

i want to get description of the screen can anyone please suggest why i am getting this error and how to resolve it ??

0 投票
1 回答
2434 浏览

ffmpeg - 使用 H264 编码帧发送每帧元数据

我们正在寻找一种将每帧元数据(例如 ID)与 H264 编码帧从服务器发送到客户端的方法。

我们目前正在开发一个远程渲染应用程序,客户端和服务器端都积极参与其中。服务器渲染具有所有效果、照明等的高质量图像。客户端还具有模型信息并渲染漫反射图像,当带宽太低或图像必须变形以避免卡顿时使用。

到目前为止,我们正在使用 ffmpeg 在服务器端对帧进行编码,并使用 live555 将它们流式传输到客户端,客户端接收 rtsp-stream 并使用 ffmpeg 再次解码帧。

对于我们的应用程序,我们现在需要发送每帧元数据。我们希望客户端告诉服务器相机现在在哪里。理想情况下,我们能够将客户端的视图矩阵发送到服务器,渲染相应的帧并将其连同其视图矩阵一起发送回客户端。因此,当客户端接收到帧时,我们需要准确地知道该帧是在哪个摄像机位置渲染的。

或者,我们也可以使用 ID 标记每个视图矩阵,将其发送到服务器,渲染帧并使用相同的 ID 标记并发送回。在这种情况下,我们必须在客户端再次将正确的矩阵分配给框架。

在多次尝试使用 ffmpeg 实现上述意图后,我们得出结论 ffmpeg 不提供所需的功能。ffmpeg 只为元数据提供了一组修复的预定义字段,它们要么不能存储矩阵,要么只能为每个关键帧设置,这对于我们的目的来说不够频繁。

现在我们正在考虑使用live555。到目前为止,我们有一个按需服务器,女巫获得了一个带有 H264VideoStreamDiscreteFramer 的 VideoSubsession 来包含我们自己的 FramedSource 类。在这个类中,我们加载编码的 AVPacket(来自 ffmpeg)并通过网络发送它的数据缓冲区。现在我们需要一种将某种元数据与每一帧一起发送到客户端的方法。

你有什么想法如何用 live555 或另一个库解决这个元数据问题吗?

谢谢你的帮助!

0 投票
1 回答
1331 浏览

c++ - 在 qt 应用程序中实现 live555 的 QT-C++ 错误

我在 ubuntu 12.04 和 live555 的最后一个版本上使用 QT5.02。

这是我的类(CameraStream.cpp),它将读取 rtsp 流:

这是文件头(CameraStream.h):

当我尝试编译时,出现以下错误:

我将 testRTSPClient 示例中的代码复制到 live555 的源存档中。我做错了什么?有没有使用 live555 的 QT 应用程序示例?

0 投票
4 回答
4218 浏览

ffmpeg - FFMPEG 库可以使用 RTSP 将实时 H264 iOS 摄像机流发送到 Wowza

我的要求是获取 iphone 相机源,将其编码为 H264 格式并将其发送到服务器。在搜索中,我发现使用 x264 (libx264) 的 ffmpeg lib 可以进行编码部分。但现在下一个任务是使用 rtsp 将编码数据发送到 Wowza 服务器。

如果有人知道这一点,请分享一些代码或有用的文档。

还有另一个用于编码目的的库 live555。但我不确定它是否可以使用 rtsp 将数据发送到服务器。

0 投票
1 回答
1914 浏览

rtsp - RTSP 客户端在会话完全建立之前发送 $-delimited 数据(发出 PLAY 命令)导致 405 Method Not Allowed 错误

我有一个 RTSP 客户端和服务器的基于 live555 的自定义实现。我正在使用 Live555 的 16/08/2013 版本。我正在使用 Interleaved RTP-OVER-TCP 进行流式传输,因为我们将使用的防火墙不允许我们使用 UDP。(也就是说,RTP、RTCP 和 RTSP 数据都将通过 TCP 发送)。当我部署应用程序时,在我的本地网络上,流式传输运行良好。然而,在一个有轻微延迟的 WAN 上,我从服务器收到“405 Method Not Allowed”错误。我已经能够通过限制我的带宽在我的本地主机上模拟这一点,以便数据流动得慢一点。如果我限制网络,我会收到“405 Method Not Allowed”错误,如果我不限制它,我不会收到此错误并且流媒体工作正常。我已经使用网络流量检查器来观察客户端发送和接收的数据,并且我注意到在出现错误的情况下,客户端会在 PLAY 命令之前发送一个以 $ 分隔的数据,然后是一些额外的二进制数据发出。我认为这会使服务器感到困惑,因为服务器可能希望仅在建立会话并发出 PLAY 命令后才能接收此类数据。

我已经手动尝试过滤掉“不需要的”消息,直到发出 PLAY 命令。如果我这样做,流式传输实际上开始并且我能够渲染一两帧,之后视频流似乎“冻结”。然而,在检查网络流量时,似乎流确实像常规视频流一样在后台流动,但是我在 SETUP 期间丢弃了“不合适”的数据片段的事实导致视频流不呈现超过最初的几微秒。

我很清楚以 $ 分隔的消息代表 RTP 或 RTCP 数据包。然而,我没想到客户端会在 RTSP 命令完成设置流会话并开始播放之前开始发送此类数据包。

有人可以帮助向我解释这些“乱序”的 RTP/RTCP 数据包是什么以及为什么客户端会发送它们吗?我怎么解决这个问题?

作为参考,我在下面的日志中包含了显示来自客户端的消息,代表错误:

0 投票
1 回答
1559 浏览

java - 实现 RTSP 的 SETUP 请求响应时的问题

我正在实现简单的 RTSP 服务器,它应该通过 rtsp 流式传输 mjpeg。当我用一些响应数据进行响应时,我遇到的第一个问题是“挂起”的 RTSP 客户端(我尝试了 vlc 和 openRTSP):缓冲问题与 java 通信 vlc

但是,这很容易发现问题的根源是在请求结束时错过了双 \r\n 序列。我已经成功编写了 OPTIONS 和 DESCRIBE 的响应,这些响应在客户端上得到了正确处理。

我在尝试实施 SETUP 时遇到了这个问题。当我向 SETUP 输出一些格式正确的 RTSP 响应时,两个 openRTSPvlc 都不会将响应视为完整:

并且在那条消息之后什么也没有发生。我认为,RTP 和 RTCP 在幕后发生了一些事情,但是调试它的方式是什么?VLC 和 openRTSP 没有输出足够详细的信息。

有任何想法吗?