2009-08-01 10 views
1

私はAndroid上で動作するようにRTSP URLを作成しています。RTSP Stackの実装

  1. 私は、RTSP URLを再生するためにMediaPlayerVideoViewを使用しているが、それらの両方がG1デバイスとエミュレータでプレーすることはできません。エラーはPVMFFailureiin PLAYER_INITです。

  2. 私は最初からRTSPクライアントを実装することを考えました。小さなアプリケーションを開発し、すべてのメッセージ(DESCRIBE、SETUP、PLAY、TEARDOWN)を交換します。しかし問題はPLAYの後で、私はトランスポートヘッダで述べたように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 port 6970到達不能、長さ36

この問題の解決方法を教えてください。

答えて

0

AndroidのマルチメディアエンジンであるOpenCOREは、さまざまな規格に固執することについてかなり厳しいものです。野生で動作する可能性のあるもの(例:MP3よりもRTSP)は、それぞれの仕様に含まれていないためサポートされていません。それは私たちに言われたことです。

したがって、ストリームしようとしているメディアが仕様外になっているか、サーバーが仕様外になっている可能性があります。 Androidで動作することが知られているRTSPストリームを見つけようと思うかもしれません。あなたのプレーヤーがそれを使って正しく動作するようにしてから、自分のストリームを消費するようにしてください。

0

一部の端末(Androidがこのカテゴリに該当するかどうかわからない)には、デバイスにファイアウォールが含まれています。パケットを受信するには、ホールパンチを実行する必要があります(つまり、サーバにダミーパケットを送信する必要があります)。これにより、ローカルデバイス上で実行されているファイアウォールに許可ルールが作成され、必要に応じて適切なNATマッピングも作成されます)

デバイスはWIFIまたは通信事業者のネットワーク(どのキャリア)にありますか?

関連する問題