Android(Xamarin)流来自IP Cam的视频来自rtsp://

时间:2017-11-11 17:16:32

标签: c# android xamarin video-streaming rtsp

更新:我通过使用vlc-sdk for android解决了这个问题。

所以我面临这个问题,我有一个URL,提供来自IP摄像头的流。

类似

  

RTSP://192.168.x.xxx:8554 / BWC

注意:没有像.mp4或.mov

这样的扩展名

我在计算机上使用VLC播放器和Android应用程序" rtsp player"两者都有效。他们都向我展示了凸轮的流。

现在我需要编写一个Application,它还会显示来自cam的流,我必须用Xamarin编写它。

我有以下代码:

[Activity(Label = "StreamActivity", ScreenOrientation = ScreenOrientation.Portrait, HardwareAccelerated = true, Theme = "@style/Theme.AppCompat.Light.NoActionBar")]
public class StreamActivity : AppCompatActivity
{
    String urlPrefix = "rtsp://";
    String urlSuffix = ":8554/BWC";

    VideoView streamView { get; set; }       

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.StreamView);

        var ipAddress = Intent.GetStringExtra("ip");
        var url = urlPrefix + ipAddress + urlSuffix;
        var vidUri = Android.Net.Uri.Parse(url);

        streamView = FindViewById<VideoView>(Resource.Id.view_stream);
        streamView.SetMediaController(new MediaController(this));
        streamView.SetVideoURI(vidUri);
        streamView.RequestFocus();
        streamView.Start();
    }
}

在主要活动中,我只需输入IP并点击一个按钮然后StreamActivity即开始,但在我点击按钮后,新活动开始,我收到一条错误消息:

  

无法播放此视频

在LogCat中,我收到以下警告和错误:

  

11-11 18:14:56.594:W / MediaPlayer(18879):无法打开rtsp://192.168.4.103:8554 / BWC:java.io.FileNotFoundException:没有内容提供者:rtsp:/ /192.168.4.103:8554/BWC

  

11-11 18:15:43.688:E / MediaPlayer(18879):错误(100,0)

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

有一种名为Surge的解决方案可能有所帮助 - https://instil.co/surge/

答案 1 :(得分:0)

您可以尝试在前缀和IP之间添加用户名和密码

var url = urlPrefix + username + ":" + password + "@" + ipAddress + urlSuffix;