我正在尝试使用libstreaming来接收android应用程序中创建的rtsp流。它是用h264和aac编码的。我试着用提供的代码在VLC播放器和另一个android设备上观看它,但它似乎不起作用。
逻辑猫:
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.");
}
发布于 2017-08-17 07:20:58
从您的Logcat错误:
RTSPSource:服务器选择无效的RTP/RTCP端口对39108-49193,RTP端口必须是均匀的,RTCP端口必须更高一。
似乎您应该修改libstreaming端端口。该错误指定"RTP端口必须是偶数,RTCP端口必须更高“,因此您可以分别将其设置为39108、39109。修改服务器代码,然后再试一次?
https://stackoverflow.com/questions/43850924
复制相似问题