Я реализовал RTSP на Android MediaPlayer, используя VLC как rtsp сервера с этим кодом:
# vlc -vvv /home/marco/Videos/pippo.mp4 --sout
#rtp{dst=192.168.100.246,port=6024-6025,sdp=rtsp://192.168.100.243:8080/test.sdp}
и в проекте Android:
Uri videoUri = Uri.parse("rtsp://192.168.100.242:8080/test.sdp");
videoView.setVideoURI(videoUri);
videoView.start();
Это прекрасно работает, но если я также хочу сыграть в реальном времени RTP, так что я скопировал файл sdp в sdcard (/mnt/sdcard/test.sdp) и установил vlc:
# vlc -vvv /home/marco/Videos/pippo.mp4 --sout
#rtp{dst=192.168.100.249,port=6024-6025}
Я попытался воспроизвести поток RTP, установив путь к файлу sdp локально:
Uri videoUri = Uri.parse("/mnt/sdcard/test.sdp");
videoView.setVideoURI(videoUri);
videoView.start();
Но у меня есть ошибка:
D/MediaPlayer( 9616): Couldn't open file on client side, trying server side
W/MediaPlayer( 9616): info/warning (1, 26)
I/MediaPlayer( 9616): Info (1,26)
E/PlayerDriver( 76): Command PLAYER_INIT completed with an error or info PVMFFailure
E/MediaPlayer( 9616): error (1, -1)
E/MediaPlayer( 9616): Error (1,-1)
D/VideoView( 9616): Error: 1,-1
Кто-нибудь знает, где проблема? Я ошибаюсь, или это невозможно проигрывать RTP на MediaPlayer? ура Джорджио