private void urlClick(object sender, EventArgs e) { m_mjpeg_stream.StopStream(); // Stops the Mjpeg Stream // Prompts the user for the Mjpeg URL and begins the stream process m_url = prompt.ShowDialog("Enter Stream URL", "Thin Dashboard"); try { m_mjpeg_stream.ParseStream(new System.Uri(m_url)); } catch { } }
public void CheckStream() { if (Errored) { //CurrentlyStreaming = true; Errored = false; _mjpeg.ParseStream(StreamAddress); } }
public VideoStreamViewer(string url, OSAEObject obj, string appName) { InitializeComponent(); Log = new General.OSAELog(appName); screenObject = obj; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.Error += _mjpeg_Error; imgWidth = Convert.ToDouble(OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Width").Value); imgHeight = Convert.ToDouble(OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Height").Value); ControlWidth = Convert.ToDouble(OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Name, "Width").Value); imgRatio = ControlWidth / imgWidth; ControlHeight = Convert.ToDouble(imgHeight * imgRatio); streamURI = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Stream Address").Value; // if (imgWidth > 0) { imgWidth = imgWidth); } // if (imgHeight > 0) { imgHeight = Convert.ToDouble(imgHeight); } this.Width = ControlWidth; this.Height = ControlHeight; image.Width = ControlWidth; image.Height = ControlHeight; if (streamURI == null) { Log.Error("Stream Path Not Found: " + streamURI); message.Content = "Can Not Open: " + streamURI; } else { streamURI = renameingSys(streamURI); Log.Info("Streaming: " + streamURI); _mjpeg.ParseStream(new Uri(streamURI)); } }
private void btnStart_Click(object sender, EventArgs e) { MjpegDecoder mjpeg = new MjpegDecoder(); mjpeg.FrameReady += mjpeg_FrameReady; mjpeg.Error += mjpeg_Error; mjpeg.ParseStream(new Uri("http://192.168.2.200/img/video.mjpeg")); }
public VideoStreamViewer(string url, OSAEObject obj) { InitializeComponent(); screenObject = obj; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.Error += _mjpeg_Error; var imgsWidth = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Width").Value; var imgsHeight = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Height").Value; streamURI = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Stream Address").Value; if (imgsWidth != "") { imgWidth = Convert.ToDouble(imgsWidth); } if (imgsHeight != "") { imgHeight = Convert.ToDouble(imgsHeight); } this.Width = imgWidth; this.Height = imgHeight; image.Width = imgWidth; image.Height = imgHeight; if (streamURI == null) { this.Log.Error("Stream Path Not Found: " + streamURI); message.Content = "Can Not Open: " + streamURI; } else { streamURI = renameingSys(streamURI); this.Log.Info("Streaming: " + streamURI); _mjpeg.ParseStream(new Uri(streamURI)); } }
private void Form1_KeyDown(object sender, KeyEventArgs e) { if (!IsPreviewMode && e.KeyCode != Keys.Space && e.KeyCode != Keys.Enter) { Application.Exit(); } if (e.KeyCode == Keys.Space) { if (isPinging == true) { return; } isPinging = true; _mjpeg.StopStream(); _mjpeg = null; Display(); } if (e.KeyCode == Keys.Return) { if (isPinging == true) { return; } isPinging = true; _mjpeg.StopStream(); _mjpeg = null; _mjpeg = new MjpegDecoder(); _mjpeg.ParseStream(new Uri("http://74.76.247.25:1024/img/video.mjpeg")); _mjpeg.FrameReady += mjpeg_FrameReady; isPinging = false; NowShowing.Text = "DOGS"; update = DateTime.Now; EEEMAGE = stream.Image; } }
public void Display() { isPinging = true; good = "Pinging.gif"; medium = "Pinging.gif"; bad = "Pinging.gif"; ping.ImageLocation = @"C:\Users\" + Environment.UserName + @"\AppData\Local\LiveScreenSaver\Pinging.gif"; _mjpeg = new MjpegDecoder(); ping.ImageLocation = @"C:\Users\" + Environment.UserName + @"\AppData\Local\LiveScreenSaver\Pinging.gif"; string countRead = File.ReadAllText(@"C:\Users\" + Environment.UserName + @"\AppData\Local\LiveScreenSaver\list.xml"); int count = countRead.Replace("<url>", "|").Count(f => f == '|'); int random = new Random().Next(0, count); XDocument xml = XDocument.Load(@"C:\Users\" + Environment.UserName + @"\AppData\Local\LiveScreenSaver\list.xml"); var url = xml.Descendants("url").ToArray()[random].Value; var location = xml.Descendants("location").ToArray()[random].Value; _mjpeg.ParseStream(new Uri(url)); ping.ImageLocation = @"C:\Users\" + Environment.UserName + @"\AppData\Local\LiveScreenSaver\Pinging.gif"; _mjpeg.FrameReady += mjpeg_FrameReady; ping.ImageLocation = @"C:\Users\" + Environment.UserName + @"\AppData\Local\LiveScreenSaver\Pinging.gif"; isPinging = false; good = "Good.png"; medium = "Medium.png"; bad = "Bad.png"; NowShowing.Text = location; update = DateTime.Now; EEEMAGE = stream.Image; }
private void button1_Click(object sender, EventArgs e) { mjp.ParseStream(new Uri("http://192.168.1.209:8080/?action=stream")); pictureBox1.Visible = !cbTakePicture.Checked; FlagTakePicture = true; FlagCheckDiff = true; }
public VideoStreamViewer(string url) { InitializeComponent(); _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.ParseStream(new Uri(url)); }
private void btnStart_Click(object sender, EventArgs e) { MjpegDecoder mjpeg = new MjpegDecoder(); mjpeg.FrameReady += mjpeg_FrameReady; mjpeg.Error += mjpeg_Error; mjpeg.ParseStream(new Uri("http://192.192.85.20:11000/getimage"),"admin","pass"); }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); string mjpegUrl; string username; string password; string location; NavigationContext.QueryString.TryGetValue("mjpegurl", out mjpegUrl); NavigationContext.QueryString.TryGetValue("username", out username); NavigationContext.QueryString.TryGetValue("password", out password); NavigationContext.QueryString.TryGetValue("location", out location); PageTitle.Text = location; MjpegDecoder decoder = new MjpegDecoder(); decoder.FrameReady += (o1, e1) => { CameraImage.Source = e1.BitmapImage; }; decoder.ParseStream(new Uri(mjpegUrl, UriKind.Absolute), username, password); HideProgress(); }
//private void btnStart_Click(object sender, EventArgs e) private void start(string cam) { MjpegDecoder mjpeg = new MjpegDecoder(); mjpeg.FrameReady += mjpeg_FrameReady; mjpeg.Error += mjpeg_Error; mjpeg.ParseStream(new Uri(cam)); }
//Load Content public override void Initialize() { //Load mask myImage = content.Load <Texture2D>(@"Textures/SSVEP_Textures/solid1"); mask = content.Load <Texture2D>(@"textures/Ring Textures/maskS3"); // Load Textures Arrow[9] = content.Load <Texture2D>(@"Textures/Ring Textures/upArrow"); Arrow[11] = content.Load <Texture2D>(@"Textures/Ring Textures/rightArrow"); Arrow[13] = content.Load <Texture2D>(@"Textures/Ring Textures/downArrow"); Arrow[15] = content.Load <Texture2D>(@"Textures/Ring Textures/leftArrow"); // Initialize targets InitializePointsForArrow(); //Initiate android comm sending_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); //send_to_address = IPAddress.Parse("10.252.28.29"); //Android ip (debug phone) send_to_address = IPAddress.Parse("10.252.31.166"); sending_end_point = new IPEndPoint(send_to_address, 1235); //Android port //Initialize android command buffers forward = Encoding.ASCII.GetBytes("a"); backward = Encoding.ASCII.GetBytes("b"); left = Encoding.ASCII.GetBytes("c"); right = Encoding.ASCII.GetBytes("d"); stop = Encoding.ASCII.GetBytes("e"); //Initialize the video decoder videoDecoder = new MjpegDecoder(); videoDecoder.ParseStream(new Uri(camUri)); base.Initialize(); }
public Player() { InitializeComponent(); mjpeg = new MjpegDecoder(); mjpeg.FrameReady += frame_ready; mjpeg.ParseStream(new Uri("http://webcam.st-malo.com/axis-cgi/mjpg/video.cgi?resolution=640x480")); }
public VideoStreamViewer(string url, OSAEObject obj, string appName) { InitializeComponent(); Log = new General.OSAELog(appName); screenObject = obj; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.Error += _mjpeg_Error; imgWidth = Convert.ToDouble(OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Width").Value); imgHeight = Convert.ToDouble(OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Height").Value); ControlWidth = Convert.ToDouble(OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Name, "Width").Value); imgRatio = ControlWidth / imgWidth; ControlHeight = Convert.ToDouble(imgHeight * imgRatio); streamURI = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Stream Address").Value; // if (imgWidth > 0) { imgWidth = imgWidth); } // if (imgHeight > 0) { imgHeight = Convert.ToDouble(imgHeight); } this.Width = ControlWidth; this.Height = ControlHeight; image.Width = ControlWidth; image.Height = ControlHeight; if (streamURI == null) { Log.Error("Stream Path Not Found: " + streamURI); message.Content = "Can Not Open: " + streamURI; } else { streamURI = renameingSys(streamURI); Log.Info("Streaming: " + streamURI); _mjpeg.ParseStream(new Uri(streamURI)); } }
public VideoStreamViewer(string url, OSAEObject obj) { InitializeComponent(); screenObject = obj; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.Error += _mjpeg_Error; var imgsWidth = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Width").Value; var imgsHeight = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Height").Value; streamURI = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Stream Address").Value; if (imgsWidth != "") { imgWidth = Convert.ToDouble(imgsWidth); } if (imgsHeight != "") { imgHeight = Convert.ToDouble(imgsHeight); } this.Width = imgWidth; this.Height = imgHeight; image.Width = imgWidth; image.Height = imgHeight; if (streamURI == null) { this.Log.Error("Stream Path Not Found: " + streamURI); message.Content = "Can Not Open: " + streamURI; } else { streamURI = renameingSys(streamURI); this.Log.Info("Streaming: " + streamURI); _mjpeg.ParseStream(new Uri(streamURI)); } }
public VideoStreamViewer(string url, OSAEObject obj) { InitializeComponent(); screenObject = obj; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.ParseStream(new Uri(url)); }
public static void loadCamera(string URIpi) { MD = new MjpegDecoder(); MD.FrameReady += mjpeg_FrameReady; System.Uri a = new Uri("http://" + URIpi + ":8081/"); MD.ParseStream(a); }
private void button3_Click(object sender, EventArgs e) { MD = new MjpegDecoder(); MD.FrameReady += mjpeg_FrameReady; System.Uri a = new Uri("http://192.168.1.1:8081/"); MD.ParseStream(a); }
private void btnStart_Click(object sender, EventArgs e) { MjpegDecoder mjpeg = new MjpegDecoder(); mjpeg.FrameReady += mjpeg_FrameReady; mjpeg.Error += mjpeg_Error; mjpeg.ParseStream(new Uri("http://192.168.2.200/img/video.mjpeg")); }
private void start_button_Click(object sender, EventArgs e) { _mjpeg.ParseStream(new Uri("http://" + pi_ip + ":8080/?action=stream")); start_button.Enabled = false; stop_button.Enabled = true; frame_picturebox.Visible = true; stream_ip_textbox.Enabled = false; }
/// <summary> /// The constructor for MainWindow /// </summary> public MainWindow() { InitializeComponent(); _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.Error += _mjpeg_Error; _mjpeg.ParseStream(new Uri(_mjpeg_url)); }
public CameraViewModel(Camera camera = null) : base(camera) { AddToFavouritesCommand = new ButtonCommand(new Action(AddToFavourites), CanExecuteAddToFavouritesCommand); mjpegDecoder = new MjpegDecoder(); mjpegDecoder.FrameReady += FrameReady; mjpegDecoder.ParseStream(new Uri($"http://{Ip}/mjpg/video.mjpg")); }
private void StreamQRCode_Click(object sender, RoutedEventArgs e) { scanTimer.Start(); if (streamOn == false) { mjd.ParseStream(new Uri("http://192.168.1.2:4747/mjpegfeed?640x480")); } streamOn = true; }
protected override void Initialize() { base.Initialize(); _spriteBatch = new SpriteBatch(this.GraphicsDevice); _mjpeg = new MjpegDecoder(); _mjpeg.ParseStream(new Uri("http://192.168.2.200/img/video.mjpeg")); }
protected override void Initialize() { base.Initialize(); _spriteBatch = new SpriteBatch(this.GraphicsDevice); _mjpeg = new MjpegDecoder(); _mjpeg.ParseStream(new Uri("http://192.168.2.200/img/video.mjpeg")); }
//public bool CurrentlyStreaming = false; public Limelight() { InitializeComponent(); //MJpegView.Source = connecting; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.Error += _mjpeg_Error; _mjpeg.ParseStream(StreamAddress); }
private void toggleFeedToolStripMenuItem1_Click(object sender, EventArgs e) { toggleFeed.BackColor = Color.Green; m = new MjpegDecoder(); m.FrameReady += M_FrameReady; m.ParseStream(new Uri(@"http://10.34.81.2:1181/stream.mjpg")); toggleFeed.Click -= toggleFeedToolStripMenuItem1_Click; toggleFeed.Click += ToggleFeed_Click; }
private void playSharedScreen() { _mjpeg = new MjpegDecoder(); _mjpeg.ParseStream(new Uri(UrlField.Text)); _mjpeg.FrameReady += mjpeg_FrameReady; }
private void web_cam_2_start_btn_Click(object sender, RoutedEventArgs e) { try { webcam2Decoder.ParseStream(new Uri("http://192.168.0.112:8081")); } catch (Exception ex) { } }
public VideoStreamViewer(string url, OSAEObject obj) { InitializeComponent(); screenObject = obj; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.ParseStream(new Uri(url), "Admin", "123456"); }
public MainWindow() { InitializeComponent(); try { //streamDeck = new CKStreamDeck(1); } catch (Exception ex) { } mjpegParser1.FrameReady += mjpeg1_FrameReady; mjpegParser1.Error += mjpeg1_Error; mjpegParser1.ParseStream(LimelightFrontAddr); mjpegParser2.FrameReady += mjpeg2_FrameReady; mjpegParser2.Error += mjpeg2_Error; mjpegParser2.ParseStream(LimelightBackAddr); img1Viewer.Stretch = Stretch.Fill; RenderOptions.SetBitmapScalingMode(img1Viewer, BitmapScalingMode.LowQuality); img2Viewer.Stretch = Stretch.Fill; RenderOptions.SetBitmapScalingMode(img2Viewer, BitmapScalingMode.LowQuality); oscSender.DoWork += oscSenderWorker_DoWork; oscSender.RunWorkerCompleted += oscSenderWorker_RunWorkerCompleted; oscReceiver.DoWork += oscReceiverWorker_DoWork; oscReceiver.RunWorkerCompleted += oscReceiverWorker_RunWorkerCompleted; CyberDashMainWindow.Width = SystemParameters.PrimaryScreenWidth; CyberDashMainWindow.Height = SystemParameters.PrimaryScreenHeight * 0.772; CyberDashMainWindow.Left = 0; CyberDashMainWindow.Top = 0; System.Windows.Threading.DispatcherTimer refocusTimer = new System.Windows.Threading.DispatcherTimer(); refocusTimer.Tick += refocusTimer_Tick; refocusTimer.Interval = new TimeSpan(0, 0, 0, 0, 1000); refocusTimer.Start(); }
private async void BrowserLeftButton_Click(object sender, RoutedEventArgs e) { baseAddress = browserLeftAddress.Text; client = new HttpClient(); string address = baseAddress + streamSuffix; mjpegLeft.ParseStream(new Uri(address)); await Task.Delay(500); w = (int)leftCameraImage.ActualWidth; h = (int)leftCameraImage.ActualHeight; resolutionLabel.Content = $"{w}x{h}px"; }
private void CCTVForm_Load(object sender, EventArgs e) { try { MjpegDecoder mjpeg = new MjpegDecoder(); mjpeg.FrameReady += mjpeg_FrameReady; mjpeg.ParseStream(new Uri("http://192.168.6.91:5000")); } catch { MessageBox.Show("CCTV 서버가 실행되지 않았습니다."); } }
private void connectButton_Click(object sender, EventArgs e) { ipAddress = "http://" + ipTextBox.Text.ToString(); mjpeg.ParseStream(new Uri(ipAddress + "/videofeed")); sound = new SoundPlayer(); outputBox.Visible = true; HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(ipAddress + "/disabletorch"); wr.GetResponse().Close(); metroToggle1.Checked = false; Focus(); }
public void Start(IPCameraController controller) { try { _mjpeg.ParseStream(new Uri(controller.GetMJpegURL())); } catch (Exception ex) { Debug.WriteLine(ex); OnError(ex.ToString()); } beacon = Beacon.Attach(controller.GetMJpegURL()); }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { // need to be out of browser to get past crossdomain.xml not existing on the cam // NOTE: this will only work on cams which properly send MJPEG data to an IE user agent header // I've found several cams (Cisco being one) that tries to be "smart" and sends a single JPEG frame // instead of an MJPEG stream since destkop IE doesn't properly support the MJPEG codec if(Application.Current.IsRunningOutOfBrowser) { MjpegDecoder mjpeg = new MjpegDecoder(); mjpeg.FrameReady += mjpeg_FrameReady; mjpeg.Error += mjpeg_Error; mjpeg.ParseStream(new Uri("http://192.168.2.200/img/video.mjpeg")); } }
private void UserControl_Loaded(object sender, RoutedEventArgs e) { // need to be out of browser to get past crossdomain.xml not existing on the cam // NOTE: this will only work on cams which properly send MJPEG data to an IE user agent header // I've found several cams (Cisco being one) that tries to be "smart" and sends a single JPEG frame // instead of an MJPEG stream since destkop IE doesn't properly support the MJPEG codec if (Application.Current.IsRunningOutOfBrowser) { MjpegDecoder mjpeg = new MjpegDecoder(); mjpeg.FrameReady += mjpeg_FrameReady; mjpeg.Error += mjpeg_Error; mjpeg.ParseStream(new Uri("http://192.168.2.200/img/video.mjpeg")); } }
private void startButton_Click(object sender, EventArgs e) { startButton.Enabled = false; stopButton.Enabled = true; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.ParseStream(new Uri(mjpegTextBox.Text)); _client = new SocketClient(nnetHostTextBox.Text); _client.OnNewFrame += new OnNewFrame(client_OnNewFrame); _client.OnStateChanged += new OnStateChanged(client_OnStateChanged); _client.Start(); }
public VideoStreamViewer(string url, OSAEObject obj) { InitializeComponent(); screenObject = obj; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.Error += _mjpeg_Error; CamipAddress = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "IP Address").Value; CamPort = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Port").Value; UserName = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Username").Value; Password = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Password").Value; string streamURI = OSAEObjectPropertyManager.GetObjectPropertyValue(obj.Property("Object Name").Value, "Stream Address").Value; if (streamURI == null) { this.Log.Info("Stream Path Not Found: " + streamURI); message.Content = "Can Not Open: " + streamURI; } else { streamURI = replaceFielddata(streamURI); _mjpeg.ParseStream(new Uri(streamURI)); } }
private void MjpegInitialize() { try { _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += MjpegOnFrameReady; _mjpeg.Error += MjpegOnError; _mjpeg.ParseStream(new Uri(ApplicationData.Current.LocalSettings.Values[Settings.CAM_STREAM_URL].ToString()), ApplicationData.Current.LocalSettings.Values[Settings.LOGIN].ToString(), ApplicationData.Current.LocalSettings.Values[Settings.PASSWORD].ToString()); _mainPage.DisplayStatus(string.Empty, MainPage.NotifyType.StatusMessage); } catch(Exception ex) { string message = ex.Message; if (ex.InnerException != null) { message += " " + ex.InnerException.Message; } _mainPage.DisplayStatus(message, MainPage.NotifyType.ErrorMessage); } }
// Code to Initialize your custom User Control public CustomUserControl(OSAEObject sObj, string ControlName) { InitializeComponent(); _controlname = ControlName; screenObject = sObj; objName = sObj.Property("Object Name").Value; CurState = OSAEObjectStateManager.GetObjectStateValue(objName).Value; LastStateChange = OSAEObjectStateManager.GetObjectStateValue(objName).LastStateChange; _mjpeg = new MjpegDecoder(); _mjpeg.FrameReady += mjpeg_FrameReady; _mjpeg.Error += _mjpeg_Error; var imgsWidth = OSAEObjectPropertyManager.GetObjectPropertyValue(sObj.Property("Object Name").Value, "Width").Value; var imgsHeight = OSAEObjectPropertyManager.GetObjectPropertyValue(sObj.Property("Object Name").Value, "Height").Value; streamURI = OSAEObjectPropertyManager.GetObjectPropertyValue(sObj.Property("Object Name").Value, "Stream Address").Value; if (imgsWidth != "") { imgWidth = Convert.ToDouble(imgsWidth); } if (imgsHeight != "") { imgHeight = Convert.ToDouble(imgsHeight); } this.Width = imgWidth; this.Height = imgHeight; image.Width = imgWidth; image.Height = imgHeight; if (streamURI == null) { this.Log.Error("Stream Path Not Found: " + streamURI); message.Content = "Can Not Open: " + streamURI; } else { streamURI = renameingSys(streamURI); this.Log.Info("Streaming: " + streamURI); _mjpeg.ParseStream(new Uri(streamURI)); } }
public void StartDecoder(string roverIp) { _mjpegDecoder = new MjpegDecoder(); _mjpegDecoder.FrameReady += mjpeg_FrameReady; _mjpegDecoder.ParseStream(new Uri("http://" + roverIp + ":8080/?action=stream"), "", ""); }