2017-05-08 12 views
0

libstreaming API를 사용하여 Android 앱에서 생성 된 rtsp 스트림을 수신하려고합니다. 그것은 h264와 aac에 인코딩되어 있습니다. 나는 VLC 플레이어와 제공된 코드를 사용하여 다른 안드로이드 장치에서 그것을 보려고했지만 작동하지 않는 것 같습니다.libstreaming에서 rtsp 스트림 재생

로그 캣 :

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. 

코드 : 당신의 로그 캣 오류에서

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 포트는 하나 이상이어야합니다"라고 지정하여 예를 들어 39108, 39109로 만들 수 있습니다. 서버 코드를 수정하고 다시 시도하십시오.