0

我正在开发一个 Android 应用程序来播放由 Darwin 流媒体服务器提供的 RTSP 协议的视频流。

我的问题是无法通过某些特定的 WiFi 热点使用 Android 的 VideoView/MediaPlayer 播放 RTSP 流,例如在我的工作场所。我四处搜索,发现达尔文流媒体服务器使用 UDP 端口 6970 - 6999 进行媒体数据流传输,可能是防火墙的问题。但是可以通过相同的 WiFi 热点在 PC 上使用 VLC 播放相同的流。

VLC 和 Android 内置媒体框架 OpenCore 使用的机制有什么区别?我可以在 Android 上使用 live555 的 openRTSP 源代码编写自己的 rtsp 客户端吗?任何帮助将不胜感激。

博尔顿

4

2 回答 2

1

我用wireshark扫描我的网络,我想我现在知道了区别:当我使用android模拟器时,我可以看到客户端不断地通过端口6970、6971发送UDP请求,但没有得到响应。而当使用 VLC 时,RTP 数据是通过端口 554 在 TCP 中传输的。我认为问题是由防火墙引起的。

于 2011-03-28T06:21:39.787 回答
1

正如您在回答中所述,当 Udp 失败时,VLC 切换到 Rtsp 上的交错 Rtp。

这就是 VLC 继续工作的原因。

如果您可以使用.Net,您可以使用我的库@https : //net7mma.codeplex.com/,或者您可以将其用作您自己开发的参考。

于 2012-12-13T15:13:45.860 回答