IP-Kamera hört nach einiger Zeit auf zu streamen
Ich arbeite an einer Anwendung, die ich verwenden möchteIP camera
zum Anzeigen von Videostreams und einigen anderen wichtigen Vorgängen an Bildern, die von der Kamera aufgenommen wurdenIP Camera
.
In der Kameraerfassung verwendete Bibliotheken Für Kameraerfassung:Emgu.CV Bibliothek
Unten ist der Code, den ich in C # verwende.
Variable Aussage
private Capture capture; //takes images from camera as image frames
private Emgu.CV.UI.ImageBox img; // Dynamic Picture Controls
private int nCam; // no of cameras
Code für die Bildverarbeitung
private void ProcessFrame(object sender, EventArgs arg)
{
try
{
// Live Streaming Display
Image<Bgr, Byte> ImageFrame = capture.QueryFrame();
// If Ip camera try to reinitialize the IP camera
if(ImageFrame == null)
{
capture.Dispose();
capture = new Capture(URL);
ImageFrame = capture.QueryFrame();
}
ImageFrame = ImageFrame.Resize(img.Width, img.Height, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR);
img.Image = ImageFrame;
// Here I am doing some other operations like
// 1. Save Image captured from the IP Camera
// 2. Detect faces in Image
// 3. Draw Face markers on Image
// 4. Some database based on result of Face Detection
// 4. Delete image File
// continue Looping for other Ip Cameras
}
catch (NullReferenceException e)
{
}
}
Nun ist das Problem nach einiger Zeit dasQueryFrame()
zur Verfügung stellennull
Wert und Kamera Stoppen Sie das Streaming.
Kann mir jemand sagen, warum das passiert? Wie kann ich dieses Problem lösen? Wenn weitere Informationen benötigt werden, lassen Sie es mich bitte wissen.
Danke im Voraus.