2017-05-08 1 views
0

libstreaming APIを使用してAndroidアプリケーションで作成したrtspストリームを受信しようとしています。これはh264とaacでコード化されています。私はVLCプレーヤーと提供されたコードを使用して別のアンドロイドデバイスでそれを見てみましたが、動作していないようです。libstreamingからrtspストリームを再生する

Logcat:

05-08 15:10:43.266 5631-5631/net.majorkernelpanic.example1 E/WIFIIP: Unable to get host address. 
05-08 15:10:43.992 1311-5663/? E/RTSPSource: Server picked invalid RTP/RTCP port pair 39108-49193, RTP port must be even, RTCP port must be one higher. 

コード:あなたのLogcatのエラーから

String url2 = "rtsp://ip address:port"; 

SurfaceView mSurfaceView = (SurfaceView)findViewById(R.id.surface_video); 
SurfaceHolder holder = mSurfaceView.getHolder(); 
MediaPlayer mediaPlayer = new MediaPlayer(); 
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); 
try { 
    mediaPlayer.setDataSource(url2); 
    mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      mediaPlayer.setDisplay(holder); 
      mediaPlayer.start(); 
     } 
    }); 
    mediaPlayer.prepareAsync(); // prepare async to not block main thread 
} catch (IOException ex) { 
    System.out.println(ex.toString()); 
    System.out.println("Unable to connect."); 
} 

答えて

0

RTSPSource: Server picked invalid RTP/RTCP port pair 39108-49193, RTP port must be even, RTCP port must be one higher

それはあなたがあなたのlibstreamingサーバー側のポートを変更する必要がありそうです。エラーは「RTPポートは偶数でなければならず、RTCPポートは1つ上位でなければならない」と指定しているので、たとえば、それぞれ39108,39109にすることができます。サーバーコードを変更してもう一度お試しください。

関連する問題