2017-12-06 13 views
0

RTSPストリームがあります.D-Link936LとSamsung Galaxy Tab Sの間でセットアップしようとしています。codecs(a/v)が一致し、互換性があることを確認しました。私はVLCを使用して私のデスクトップに接続するipカメラを確認しました。AndroidへのIPカメラのrtspストリームに失敗しました

私がやったことは、他人が見たことがないことです。RTSPのネットワークパケットについて、タブレットとカメラの間で共有されていることを詳しく見ています。私は面白い何かを見つけることに終わった。

注:私もエラーが発生します:

D/MediaPlayer: setDataSource IOException | SecurityException happend : 
                      java.io.FileNotFoundException: No content provider: rtsp:// 

など0x8000000000(またはしかし多くの0の)

私が悪い扱わまでチョーキングい
error (1, -2147483648) 

のようなエラー気にいらタイムアウト/誤った通信エラー。

どのように私はこの結論に至りましたか?私はwireshark良い接続(タブレットはipプレイヤーからRTSP Playerを実行してipカメラにEDIT)と悪い接続(タブレットからipカメラ)を記録しました。下に私が見つけたものを見ることができます。

良好な接続:あなたはACKが続くコマンドがあり、良好な接続に気付くでしょう

Bad connection

Good connection

そして、接続不良。しかし、あなたはまた、悪い接続で、DESCRIBEパケットのACKを受け取るのに約2.2秒かかることに気付くでしょう。これにより、アンドロイド側からTEARDOWNが送信され、その直後にDESCRIBE_ACKが送信されます。スマートにしようとすると、アンドロイドデバイスはSETUP ...を送信しますが、すぐに受信したTEARDOWN_ACKには一致しません。

最後に: 私の質問は、この2秒遅れの原因となっているのですか?ああ、私は12/8/17までにこれを理解する必要があります。少年・OH ...

EDIT: 私は言及を忘れてしまったことの一つ、それは私のIPカメラとrtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov ではなく、で動作します。

何かちょっと通知がありますが、私がアンドロイドデバイスでパケットキャプチャに使用していたソフトウェアを実行すると、上記のリンクはエラー(1、-214 #####)コードで失敗しますよく

答えて

0

他の誰かがこの問題に遭遇した場合に備えて、私はこれに答えます。

私の開発が急で、問題をデバッグする時間がないため、根本原因を見つけることができませんでした。

私の最初の解決策は、VXG APIを使用することでしたが、アプリケーション実行ごとに3つのストリーム、ストリームの長さに2分のキャップ、各ビデオのウォーターマークを許可しました。

私の2番目の最終的な解決策は、少し奇妙なVLC APIを使用することでしたが、私は仕事の日にそれを設定し、3つ以上のストリーム、無制限の時間、およびウォーターマークなしで動作させることができました...驚くばかり!

私の提案は、VLC APIを使用しています。私の唯一の問題はサーフェスビューでしか動かすことができなかったため、いくつかの問題があり、VXG APIよりも潜在的だったのでTCPを使用していたようです(ただし、使用されています)。だから本質的にリアルタイムビデオよりも少なく準備されているかもしれません、私は私的なWLANで経験したかもしれない待ち時間の0.5-1秒です。

関連する問題