2009-08-01 177 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上還是在運營商的網絡上(哪個運營商)?