wake-up-neo.net

Spielen Sie RTSP-Streaming in einer Android Anwendung

Ich versuche eine Android basierte Anwendung zu entwickeln, die Videos von einem Live-Stream abspielen kann. Dieser Live-Stream wird mit Wowza Media Server erstellt.

Die URL lautet:

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

Ich habe folgenden Code in Ecliplse ausprobiert:

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();
    }
}

Anfangs funktionierte es nicht.

Jetzt fing es an zu arbeiten, aber es stoppt nach 20 bis 30 Sekunden. Wie kann ich dieses Problem beheben?

36
SJSSoft

Ich habe die Lösung gefunden. Die Übertragung sollte in der von Android bevorzugten Einstellung erfolgen. Weitere Informationen finden Sie unter nterstützte Medienformate.

0
SJSSoft

Die Verwendung von VideoView ist eine gute Lösung, aber wir können auch das native player, um RTSP zu spielen. Dies ist ein Beispiel:

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

Denken Sie daran, dass Ihre Medien mit von Android unterstützten Medienformaten ( Codecs Erstellt werden müssen =).

13
Jorgesys

Ich hatte auch das gleiche Problem in ICS 4.x. Außerdem können Sie überprüfen, ob Ihr Stream URL ordnungsgemäß funktioniert oder nicht.

Überprüfen Sie Ihren Code auch mit dieser Beispiel-URL .

9
Murali

Ich hatte das gleiche Problem mit Galaxy Note N7000 (ICS 4.0.3) und VLC 2.0.2 - das Video stirbt nach 60 Sekunden. Aber wenn ich mich dem VLC Media Player 1.1.4 zuwende, funktioniert einfach alles gut!

Manchmal kommt es also auf den Medienserver an. Sie können RTSP von YouTube aus testen (gehen Sie zu m.youtube.com und klicken Sie mit der rechten Maustaste auf ein Video -> Standortlink kopieren -> das ist der von Ihnen benötigte RTSP-Link).

0
hungson175