wseemann / FFmpegMediaPlayer

FFmpegMediaPlayer can be used to control playback of audio/video files and streams.
673 stars 201 forks source link

Unable to Play RTSP stream error thrown E/FFmpegMediaPlayer: Error (0,0) #164

Open engrtaipu opened 1 year ago

engrtaipu commented 1 year ago

Hi, thanks for the hardworking, but I am unable to play an RTSP stream, directly from an IP camera. here's the code.

`private final FFmpegMediaPlayer.OnPreparedListener mOnPreparedListener = FFmpegMediaPlayer::start;

private final FFmpegMediaPlayer.OnErrorListener mOnErrorListener = (mp, what, extra) -> {
    Log.d(MainScreenActivity.class.getName(), "Error: " + what);
    return true;
};
surfaceHolder.addCallback(new SurfaceHolder.Callback() {
        @Override
        public void surfaceCreated(@NonNull SurfaceHolder surfaceHolder) {
            surface = surfaceHolder.getSurface();
        }

        @Override
        public void surfaceChanged(@NonNull SurfaceHolder surfaceHolder, int i, int i1, int i2) {

        }

        @Override
        public void surfaceDestroyed(@NonNull SurfaceHolder surfaceHolder) {

        }
    });

    fFmpegMediaPlayer = new FFmpegMediaPlayer();
    fFmpegMediaPlayer.setOnPreparedListener(mOnPreparedListener);
    fFmpegMediaPlayer.setOnErrorListener(mOnErrorListener);
    fFmpegMediaPlayer.stop();

try {
        fFmpegMediaPlayer.reset();

        fFmpegMediaPlayer.setDataSource(rtspUrl);
        if (surface != null) {
            fFmpegMediaPlayer.setSurface(surface);
        }
        fFmpegMediaPlayer.prepareAsync();
    } catch (IOException ex) {
        ex.printStackTrace();
    }`