La cámara IP deja de transmitir después de un tiempo
Estoy trabajando en una aplicación donde quiero usarIP camera
para mostrar la transmisión de video y algunas otras operaciones importantes en la imagen capturada por elIP Camera
.
Bibliotecas utilizadas en la captura de cámara Para captura de cámara:Emgu.CV Biblioteca
A continuación se muestra el código que estoy usando en C #.
Declaración Variable
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
Código para procesar imagen
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)
{
}
}
Ahora, el problema es después de algún tiempoQueryFrame()
proporcionarnull
valor y cámara Detener transmisión.
¿Puede alguien decirme por qué está pasando esto? ¿Cómo puedo resolver este problema? Si necesita más información, hágamelo saber.
Gracias por adelantado.