Хобрук: Ваш путь к мастерству в программировании

Прямая трансляция 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);

Исключение: 05-26 10:22:46.186:
ОШИБКА/MediaPlayerService(10157):
создать PVPlayer 05-26 10:23:06.382:
ОШИБКА/PlayerDriver(10157): Команда < br/> PLAYER_INIT завершен с ошибкой или
info -1 05-26 10:23:06.382:
ERROR/MediaPlayer(23800): error (1,
-1) 05-26 10:23:06.382: ОШИБКА/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): Info (1,26)
05-26 10:40:29.100:
ERROR/PlayerDriver(10157): Command
PLAYER_INIT завершен с ошибкой или
info -1 05-26 10:40:29.104:
ERROR/MediaPlayer(24284): ошибка (1,
-1) 05-26 10:40 :29.108: ОШИБКА/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);
    }
}

Исключение:

Это пример 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 Inside
Конструктор
PVMFMemoryBufferWriteDataStreamImpl
05-26 10:16:24.346:
INFO/PlayerDriver(10157): буферизация
(100) 05-26 10:16:24.346: < br/> ОШИБКА/(10157): IIIIIII Inside
Конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10:16:24.346: ERROR/(10157):
IIIIIII Inside Конструктор
br/> PVMFMemoryBufferReadDataStreamImpl
05–26 10:16:24.346: ERROR/(10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05–26 10:16:24.346: ERROR /(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: ERROR/(10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10:16:24.346: ERROR/ (10157):
Внутренний конструктор IIIIIII
PVMFMemoryBufferReadDataStreamImpl
05-26 10:16:24.346: ERROR/(10157):
Внутренний конструктор IIIIIII
PVMFMemoryBufferReadDataStreamImpl < br/> 05-26 10:16:24.346: ОШИБКА/(10157):
IIIIIII Внутренний конструктор
PVMFMemoryBufferReadDataStreamImpl
05-26 10:16:24.346: ОШИБКА/(10157):
Внутренний конструктор IIIIIII для
PVMFMemoryBufferReadDataStreamImpl
05-26 10:16:24.346: ERROR/(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 завершена с ошибкой или
информация -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):
Info (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 следующим образом.


  • Я тестировал на Samsung Galaxy S и Samsung Galaxy Tab. 26.05.2011
  • URL: rtsp://strm-3.tr.medianova.tv/rkraltv/rkraltv тип кодека h264 26.05.2011
  • Привет, не могли бы вы рассказать мне, как вам удалось играть в rtsp на Android ?? 27.05.2011
  • Иногда это происходит только на Симуляторе. Ваше видео в формате H.264? Если это так, не может быть проблем с потоковой передачей видео. Тем не менее, вы можете увидеть сообщение об ошибке в любом случае. Если вы даете интернет-разрешение, попробуйте сделать это на реальном устройстве. 09.11.2013
  • привет ........ у тебя есть решение для этого 27.08.2016
  • 05-26 10:36:57.589:
    ОШИБКА/MediaPlayerService(10157):
    создать PVPlayer 05-26 10:37:20.542:
    ОШИБКА/PlayerDriver(10157): Команда
    PLAYER_INIT завершен с ошибкой или
    info -1 05-26 10:37:20.542:
    ERROR/MediaPlayer(24240): error (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:
    ERROR/MediaPlayerDemo(24240):
    java.io.IOException: Не удалось подготовить.:
    status=0x1 05- 26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.media.MediaPlayer.prepare(собственный метод
    ) 05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    com.giantrabbit.nagare.KralTvNow.play(KralTvNow.java:162)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo( 24240): в
    com.giantrabbit.nagare.KralTvNow.surfaceCreated(KralTvNow.j ava:215)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.SurfaceView.updateWindow(SurfaceView.java:536)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.SurfaceView.dispatchDraw(SurfaceView.java:339)
    05-26 10:37 :20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.ViewGroup.drawChild(ViewGroup.java:1638)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.ViewGroup.drawChild(ViewGroup.java:1638)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android. view.ViewGroup.dispatchDraw(ViewGroup.java:1367)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.View.draw(View .java:6796)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в android.widget.FrameLayout.draw(FrameLayout.java:352)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view. ViewGroup.drawChild(ViewGroup.java:1640)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.ViewGroup.dispatchDraw(ViewGroup.java :1367)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.View.draw(View.java:6796)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.widget. FrameLayout.draw(FrameLayout.java:352)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    com.android.internal.policy.impl.PhoneWindow $DecorView.draw(PhoneWindow.java:1894)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.ViewRoot.draw(ViewRoot. java:1407)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.view.ViewRoot.performTraversals(ViewRoot.java:1163)
    05–26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo (24240): в
    android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
    05–26 10:37 :20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.os.Handler.dispatchMessage(Handler.java:99)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.os.Looper.loop(Looper.java:123)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    android.app.ActivityThread.main(ActivityThread.java:4627)
    05-26 10:37:20.682 :
    ERROR/MediaPlayerDemo(24240): в
    java.lang.reflect.Method.invokeNative(Native
    Method) 05-26 10:37:20.682:
    ERROR/MediaPlayerDemo (24240): в
    java.lang.reflect.Method.invoke(Method.java:521)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:871)
    05–26 10:37:20.682:
    ERROR/MediaPlayerDemo(24240): в < br/> com.android.internal.os.ZygoteInit.main(ZygoteInit.java:629)
    05-26 10:37:20.682:
    ОШИБКА/MediaPlayerDemo(24240): в
    dalvik.system.NativeStart.main(собственный метод
    ) 05-26 10:37:20.737:
    INFO/MediaPlayer(24240): Info (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
    19.02.2020

Ответы:


1

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

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

27.07.2013

2

Если это выдает ошибку, вам нужно будет проверить формат видео, поддерживаемый 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.

11.06.2012

3

Какой телефон вы используете для тестирования?.. Некоторые телефоны, такие как MOTOROLA, не поддерживают некоторые форматы видео. Но такие телефоны, как Nexus, будут поддерживать эти форматы потокового видео.

02.12.2011
Новые материалы

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

Разбор строк запроса в vue.js
Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
«Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..


© 2024 hobruk.ru, Хобрук: Ваш путь к мастерству в программировании