android - Android 中的 RTSP 客户端

标签 android udp rtp rtsp

可能有人问过同样的问题,但我没有找到适合我的解决方案。

我正在尝试在 android 中播放 RTSP 流,服务器是 Darwin 流媒体服务器。现在我已经尝试了 VideoView 和 MediaPlayer,当我使用 3G 时它们总是工作正常但有时当我使用 Wifi 时会出现问题,特别是当我在工作场所使用 Wifi 时,以及 LogCat 中的错误:

PlayerDriver( 31): 缓冲 (0)

我用谷歌搜索了一下,猜测原因可能是 Wifi 热点在防火墙后面并且 UDP 端口被阻止,而 Opencore 媒体框架仅支持 UDP 上的 RTP。如果我错了,请纠正我。

那么,这是我的问题,如果我无法更改防火墙情况,我该如何解决。如果无法使用内置的 VideoView/MediaPlayer,那么如何编写我自己的 rtsp 客户端。

任何建议将不胜感激:)

提前致谢!

博尔顿

最佳答案

我不认为你可以用它做很多事情...这是我的想法:

制作一个将在与 Darvin 相同的 LAN 中启动的应用程序,然后它将通过 UDP(在 LAN 中)获取 Darvin 的 RTP 流,然后通过 TCP 将其传输到 WAN,以便您可以访问它。您可以轻松地用 C# 编写该应用程序……它会完美运行。或者,如果您有一些 Linux 发行版,您可以编写一个复杂的 Bash 脚本,该脚本将使用 NC 来执行相同的操作...

所以这基本上就是这个想法: enter image description here

关于android - Android 中的 RTSP 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5380563/

相关文章:

android - 获取 ParseUser 对象

android - 转换位图图像在 Activity 中有效,但在 fragment 上生成空引用错误

android - 如何从网络时间协议(protocol)获取当前时间?

ffmpeg - 使用 FFMPEG 将 H264 流式传输到 Android

ios - 从 quicktime MOV 文件解析 h.264 NAL 单元

android - 如何将 GraphView 集成到我的项目中?

c++ - 为什么可以 boost asio udp 连接抛出 "send: Connection refused"?

java - 为什么这两个字符串不相等?

Python Socket 编程(TCP 与 UDP)

webrtc - 使用 Kurento 广播 RTP 流