2009-08-01 135 views
1

我正在努力使RTSP url在Android上工作。RTSP协议栈实现

  1. 我用MediaPlayerVideoView玩RTSP url,但他们都无法在G1设备和仿真器玩。错误是PVMFFailureiin PLAYER_INIT

  2. 所以我想从零开始实施RTSP客户端。我开发了一个小应用程序,它交换所有消息(DESCRIBE,SETUP,PLAY,TEARDOWN)。但是问题出现在播放之后,我应该像传输标题中所提到的那样在client_port处接收RTP数据包,但TCP转储会显示以下消息。我认为UDP数据包即将到来,但在应用程序中未收到。

11:38:50.213394 IP EW-在-f177.google.com.6970> 192.168.1.2.6970:UDP,长度444 11:38:50.213451 IP 192.168.1.2> EW- in-f177.google.com:ICMP 192.168.1.2 udp端口6970不可达,长度36

请让我知道如何解决此问题。

回答

0

Android中的多媒体引擎OpenCORE对遵守各种标准相当严格。一些可能在野外工作的东西(例如,通过RTSP的MP3)不被支持,因为它们不在相应的规范中。最低限度,这就是我们所说的。

因此,您尝试流式传输的媒体可能稍微超出规格,或者服务器稍微超出规格。您可能希望尝试找到一些已知可用于Android的RTSP流,让您的播放器正确使用它,然后专注于让它消耗自己的流。

0

一些手机(我不知道Android是否属于这个类别)包括设备上的防火墙。为了接收数据包,你可能必须执行一个漏洞(例如发送一个虚拟数据包到服务器,这将在本地设备上运行的防火墙上创建一个允许规则,并且如果需要的话,它也会创建适当的NAT映射)

设备是在WIFI上还是在运营商的网络上(哪个运营商)?