Прямой эфир RTSP на Android

Я пытаюсь сделать прямой эфир на Android. Я пробовал много способов, но никто из них не работал. Как мне это сделать?

Это пример RTSP:

mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(KralStream.getTvStreamUrl().toString()); mMediaPlayer.setDisplay(holder); mMediaPlayer.prepareAsync(); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setOnVideoSizeChangedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mMediaPlayer.setLooping(true); 

Exeption: 05-26 10: 22: 46.186:
ОШИБКА / MediaPlayerService (10157):
Создать PVPlayer 05-26 10: 23: 06.382:
ERROR / PlayerDriver (10157): команда
PLAYER_INIT завершен с ошибкой или
Info -1 05-26 10: 23: 06.382:
ERROR / MediaPlayer (23800): ошибка (1,
-1) 05-26 10: 23: 06.382: ERROR / MediaPlayer (23800): ошибка (1, -1)

RTSP:

 VideoView videoView = (VideoView)findViewById(R.id.videoView1); Uri uri = Uri.parse("rtsp://strm-3.tr.medianova.tv/rkraltv/rkraltv"); videoView.setVideoURI(uri); videoView.start(); 

Он дает следующее сообщение:

«Извините, это видео
Не могу играть ». Исключения: 05-26
10: 40: 08,979:
ОШИБКА / MediaPlayerService (10157):
Создать PVPlayer 05-26 10: 40: 09.188:
INFO / ActivityManager (10163): отображается
Мероприятия
Com.giantrabbit.nagare / .KralTvNow: 433
Мс (всего 433 мс) 05-26 10: 40: 11,702:
WARN / PowerManagerService (10163): таймер
0x3-> 0x3 | 0x1 05-26 10: 40: 29.061:
WARN / MediaPlayer (24284): информация / предупреждение
(1, 26) 05-26 10: 40: 29.061:
INFO / MediaPlayer (24284): Информация (1,26)
05-26 10: 40: 29.100:
ERROR / PlayerDriver (10157): команда
PLAYER_INIT завершен с ошибкой или
Info -1 05-26 10: 40: 29.104:
ERROR / MediaPlayer (24284): ошибка (1,
-1) 05-26 10: 40: 29.108: ERROR / MediaPlayer (24284): ошибка (1, -1)

RTSP:

 mPreview = (SurfaceView) findViewById(R.id.surface); holder = mPreview.getHolder(); holder.addCallback(this); holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); extras = getIntent().getExtras(); public void play() { try { Uri video = KralStream.getTvStreamUrl(); Toast.makeText(this, video.toString(), Toast.LENGTH_SHORT).show(); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(path); mMediaPlayer.setDisplay(holder); mMediaPlayer.prepare(); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setOnVideoSizeChangedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); } catch (Exception e) { Log.e(TAG, "error: " + e.getMessage(), e); } } 

Exeption:

05-26 10: 36: 57.589:
ОШИБКА / MediaPlayerService (10157):
Создать PVPlayer 05-26 10: 37: 20.542:
ERROR / PlayerDriver (10157): команда
PLAYER_INIT завершен с ошибкой или
Info -1 05-26 10: 37: 20.542:
ERROR / MediaPlayer (24240): ошибка (1,
-1) 05-26 10: 37: 20.565: WARN / PlayerDriver (10157):
PVMFInfoErrorHandlingComplete 05-26
10: 37: 20,682:
ERROR / MediaPlayerDemo (24240): ошибка:
Не удалось выполнить команду: status = 0x1 05-26
10: 37: 20,682:
ОШИБКА / MediaPlayerDemo (24240):
Java.io.IOException: Подготовить не удалось:
Status = 0x1 05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.media.MediaPlayer.prepare (Native
Метод) 05-26 10: 37: 20,682:
ERROR / MediaPlayerDemo (24240): при
com.giantrabbit.nagare.KralTvNow.play (KralTvNow.java:162)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
com.giantrabbit.nagare.KralTvNow.surfaceCreated (KralTvNow.java:215)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.SurfaceView.updateWindow (SurfaceView.java:536)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.SurfaceView.dispatchDraw (SurfaceView.java:339)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.ViewGroup.drawChild (ViewGroup.java:1638)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.ViewGroup.dispatchDraw (ViewGroup.java:1367)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.ViewGroup.drawChild (ViewGroup.java:1638)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.ViewGroup.dispatchDraw (ViewGroup.java:1367)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.View.draw (View.java:6796)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.widget.FrameLayout.draw (FrameLayout.java:352)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.ViewGroup.drawChild (ViewGroup.java:1640)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.ViewGroup.dispatchDraw (ViewGroup.java:1367)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.View.draw (View.java:6796)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.widget.FrameLayout.draw (FrameLayout.java:352)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
com.android.internal.policy.impl.PhoneWindow $ DecorView.draw (PhoneWindow.java:1894)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.ViewRoot.draw (ViewRoot.java:1407)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.ViewRoot.performTraversals (ViewRoot.java:1163)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.view.ViewRoot.handleMessage (ViewRoot.java:1727)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.os.Handler.dispatchMessage (Handler.java:99)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.os.Looper.loop (Looper.java:123)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
android.app.ActivityThread.main (ActivityThread.java:4627)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
java.lang.reflect.Method.invokeNative (Native
Метод) 05-26 10: 37: 20,682:
ERROR / MediaPlayerDemo (24240): при
java.lang.reflect.Method.invoke (Method.java:521)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:871)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:629)
05-26 10: 37: 20.682:
ERROR / MediaPlayerDemo (24240): при
dalvik.system.NativeStart.main (Native
Метод) 05-26 10: 37: 20,737:
INFO / MediaPlayer (24240): Информация (1,26)
05-26 10: 37: 20.737:
ERROR / MediaPlayer (24240): ошибка (1, -1)
05-26 10: 37: 20,868:
INFO / ActivityManager (10163): отображается
Мероприятия
com.giantrabbit.nagare / .KralTvNow:
25864 мс (всего 25864 мс) 05-26
10: 37: 23,777:
WARN / PowerManagerService (10163): таймер
0x3-> 0x3 | 0x1

Это пример HTTP:

 mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource("http://ikral.garantisistem.com:1935/ikral/smil:kral.smil/playlist.m3u8"); mMediaPlayer.setDisplay(holder); mMediaPlayer.prepareAsync(); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setOnVideoSizeChangedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mMediaPlayer.setLooping(true); 

Исключение:

05-26 10: 16: 24,276:
ОШИБКА / MediaPlayerService (10157):
Создать PVPlayer 05-26 10: 16: 24.292:
ОШИБКА / (10157): IIIIIII Внутри
Конструктор
PVMFMemoryBufferWriteDataStreamImpl
05-26 10: 16: 24.346:
INFO / PlayerDriver (10157): буферизация
(100) 05-26 10: 16: 24,346:
ОШИБКА / (10157): IIIIIII Внутри
Конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.346: ОШИБКА / (10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10: 16: 24.350:
WARN / MediaPlayer (23736): информация / предупреждение
(1, 26) 05-26 10: 16: 24.354:
ERROR / PlayerDriver (10157): команда
PLAYER_INIT завершен с ошибкой или
Info -10 05-26 10: 16: 24.354:
ERROR / MediaPlayer (23736): ошибка (-10,
-10) 05-26 10: 16: 24.354: WARN / PlayerDriver (10157):
PVMFInfoErrorHandlingComplete 05-26
10: 16: 24.393: INFO / MediaPlayer (23736):
Информация (1,26) 05-26 10: 16: 24.393:
ERROR / MediaPlayer (23736): ошибка
(-10, -10)

HTTP:

 VideoView videoView = (VideoView)findViewById(R.id.videoView1); Uri uri = Uri.parse("http://ikral.garantisistem.com:1935/ikral/smil:kral.smil/playlist.m3u8"); videoView.setVideoURI(uri); videoView.start(); 

Он дает сообщение:

«Извините, это видео нельзя играть».

Введите описание изображения здесь

Добавьте в свой файл AndroidManifest.xml сетевое разрешение, подобное этому

 <uses-permission android:name="android.permission.INTERNET" /> 

Android может обрабатывать потоки RTSP без какой-либо вспышки. Вы пытаетесь ввести URL-адрес в адресной строке браузера напрямую, и внешний проигрыватель автоматически откроется для воспроизведения URL-адреса.

Если он дает ошибку, вам нужно будет проверить формат видео, поддерживаемый Android. Вы можете проверить пример URL-адреса потока RTSP с Wowza Media Server . Ссылка на URL-адрес для устранения неполадок RTSP-потока с Wowza Media Server: http://www.wowza.com/forums/content.php?62-RTSP-streaming-troubleshooting-guide-%28RTSP-RTP-playback%29 . Надеюсь, это поможет.

Это из-за формата видео. Попробуйте сделать это 3GP .

Intereting Posts