可能有人问过同样的问题,但我没有找到适合我的解决方案。
我正在尝试在 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 来执行相同的操作...
所以这基本上就是这个想法:
关于android - Android 中的 RTSP 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5380563/