在Android应用程序中播放RTSP流媒体

时间:2012-06-30 14:33:38

标签: android streaming live rtsp wowza

我正在尝试开发一个基于Android的应用程序,它可以从实时流播放视频。此直播流使用Wowza Media Server生成。

网址为:

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秒后停止。我该如何解决这个问题?

6 个答案:

答案 0 :(得分:13)

使用VideoView是一个很好的解决方案,但我们也可以使用native player来播放RTSP。这是一个例子:

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

请注意,您的媒体必须使用Android Supported Media Formatscodecs)创建。

答案 1 :(得分:9)

我在ICS 4.x中也遇到了同样的问题。此外,您还可以检查流URL是否正常工作。

同时使用this sample URL检查您的代码。

答案 2 :(得分:0)

我遇到了与Galaxy Note N7000(ICS 4.0.3)和VLC 2.0.2相同的问题 - 视频在60秒后死亡。但是当我转向VLC媒体播放器1.1.4时,一切都运作良好!

所以有时它取决于媒体服务器。您可以在YouTube上试用RTSP(转到m.youtube.com,然后右键点击某些视频 - >复制位置链接 - >这是您需要的RTSP链接。)

答案 3 :(得分:0)

我找到了解决方案。传输应该在Android的首选设置范围内。有关详细信息,请参阅 Supported Media Formats

答案 4 :(得分:0)

我搜索并尝试了很多代码来在Android上播放RTSP,最后,我找到了这个库。 希望这对寻求这种帮助的人有所帮助 RTSP Player using Vlc

答案 5 :(得分:0)

我花了整整一个月的时间阅读和研究这个主题,我使用 VLC 库 来播放来自相机的 RTSP 流,尽管它可以很好地解决问题这个库就是它的延迟。我需要一个库来实时播放流,所以我们在 Linux 和 Nvidia 板上测试了 Gstreamer,它运行良好,没有延迟,我设法重建了 Gstreamer 库在我的应用程序上,它运行良好,功能强大。 The Gstreamer Library