Воспроизведение RTSP streaming в приложении для Android

Я пытаюсь разработать приложение на базе Android, которое может воспроизводить видео из Живого Потока. Эта прямая трансляция производится с помощью Wowza Media Server.

URL-адрес:

rtsp://tv.hindiworldtv.com:1935/live/getpun

Я пробовал следующий код в ecliplse:

package com.kalloh.wpa;

import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.net.Uri;
import android.os.Bundle;
import android.view.Window;
import android.widget.MediaController;
import android.widget.VideoView;


public class a extends Activity {

    VideoView videoView;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

        //Create a VideoView widget in the layout file
        //use setContentView method to set content of the activity to the layout file which contains videoView
        this.setContentView(R.layout.videoplayer);

        videoView = (VideoView)this.findViewById(R.id.videoView);

        //add controls to a MediaPlayer like play, pause.
        MediaController mc = new MediaController(this);
        videoView.setMediaController(mc);

        //Set the path of Video or URI
        videoView.setVideoURI(Uri.parse("rtsp://tv.hindiworldtv.com:1935/live/getpnj"));
        //

        //Set the focus
        videoView.requestFocus();
    }
}

сначала это не работало.

теперь он начал работать, но он останавливается через 20-30 секунд. Как я могу решить эту проблему?

4 ответов


используя видео просмотр является хорошим решением, но мы также можем использовать native player для воспроизведения RTSP. Вот пример:

if (movieurl.startsWith("rtsp://")) {
    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(movieurl));
    startActivity(intent);
}

имейте в виду, что ваш носитель должен быть создан с помощью Android Поддерживаемые Форматы Мультимедиа (кодеки).


У меня также была такая же проблема в ICS 4.х. Кроме того, вы можете проверить, является ли поток URL-адресом работает правильно или нет.

также проверьте свой код с помощью в этом примере URL-адрес.


Я нашел решение. Передача должна быть в пределах предпочтительной настройки Android. Дополнительные сведения см. В разделе Поддерживаемые Форматы Медиа.


У меня была такая же проблема с Galaxy Note N7000 (ICS 4.0.3) и VLC 2.0.2 - видео умирает через 60 секунд. Но когда я обращаюсь к VLC media player 1.1.4, все просто работает хорошо!

Так что иногда это зависит от медиа-сервера. Вы можете попробовать RTSP с YouTube (перейти к m.youtube.com а затем щелкните правой кнопкой мыши на некотором видео - > Копировать ссылку местоположения - > это ссылка RTSP вам нужно).