【问题标题】:Playing rtsp stream from libstreaming从 libstreaming 播放 rtsp 流
【发布时间】:2017-05-08 14:57:53
【问题描述】:

我正在尝试使用 libstreaming api 接收在 android 应用程序中创建的 rtsp 流。它以 h264 和 aac 编码。我尝试使用提供的代码在 VLC 播放器和另一个 android 设备上观看它,但它似乎不起作用。

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.

代码:

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.");
}

【问题讨论】:

    标签: android video-streaming rtsp libstreaming


    【解决方案1】:

    来自您的 Logcat 错误:

    RTSPSource:服务器选择了无效的 RTP/RTCP 端口对 39108-49193,RTP 端口必须是偶数,RTCP 端口必须高一个

    看来您应该修改您的 libstreaming 服务器端端口。该错误指定“RTP 端口必须是偶数,RTCP 端口必须高一”,因此您可以分别将其设为 39108、39109。修改您的服务器代码并重试?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-18
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-15
      • 2019-05-18
      相关资源
      最近更新 更多