首页 > 解决方案 > xaml 中的等效应用程序到 WindowsForm for cam onvif

问题描述

我下载这个应用程序我使用示例(来自官方)网站:https ://github.com/AlexBrochu/CameraManager

这将是应用程序的图像:在此处输入图像描述

我需要在我的 WindowsForm 应用程序中使用相同的功能,我一直在研究,虽然有几个示例要连接,但我还需要更改配置文件,因为它通常有 3 个:

UriBuilder uri = new UriBuilder(media.GetStreamUri("RtspOverHttp", profiles[cbPerfilesCam.SelectedIndex].token));

我现在可以连接到相机,因为在前面的代码中我有来自相机的信息,我只需要传输图像的方式`

xaml 中的应用程序代码是:

 private void StreamVideoOnVLC(String[] recordParams)
    {
        UriBuilder uri = new UriBuilder(media.GetStreamUri("RtspOverHttp", profiles[listBox.SelectedIndex].token));
        uri.Host = deviceUri.Host;
        uri.Port = deviceUri.Port;
        uri.Scheme = "rtsp";

        textBox.Text = uri.Path;

        List<string> options = new List<string>();
        options.Add(":rtsp-http");
        options.Add(":rtsp-http-port=" + uri.Port);
        options.Add(":rtsp-user=" + user.Text);
        options.Add(":rtsp-pwd=" + password.Password);

        if (recordParams.Length != 0)
        {
            foreach (string param in recordParams)
            {
                options.Add(param);
            }
        }
        
        video.MediaPlayer.Play(uri.Uri, options.ToArray());
    }

我在 windowsFor 中找不到对应的 video.mediaPlayer.play。我已经尝试过使用 Aforge,但我不知道如何实现配置文件,我也尝试过使用 VLC ActiveX 插件和 IE Web 插件 v2,我没有找到使用它的方法,出于商业原因我无法使用 Ozeky

到目前为止我的代码:

private void StreamVideoOnVLC(String[] recordParams)
    {
        UriBuilder uri = new UriBuilder(media.GetStreamUri("RtspOverHttp", profiles[cbPerfilesCam.SelectedIndex].token));
        uri.Host = deviceUri.Host;
        uri.Port = deviceUri.Port;
        uri.Scheme = "rtsp";

        List<string> options = new List<string>();
        options.Add(":rtsp-http");
        options.Add(":rtsp-http-port=" + uri.Port);
        options.Add(":rtsp-user=" + userCam);
        options.Add(":rtsp-pwd=" + passCam);

        if (recordParams.Length != 0)
        {
            foreach (string param in recordParams)
            {
                options.Add(param);
            }
        }

        ??  (uri.Uri, options.ToArray());
       


    }

标签: c#onvif

解决方案


推荐阅读