IP-камера прекращает потоковую передачу через некоторое время
Я работаю над одним приложением, которое я хочу использоватьIP camera
для отображения потокового видео и и некоторых других основных операций над изображением, снятымIP Camera
.
Библиотеки, используемые в захвате камеры Для захвата камеры:Emgu.CV Библиотека
Ниже приведен код, который я использую в C #.
Объявление переменной
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
Код для обработки изображения
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)
{
}
}
Теперь проблема через некоторое времяQueryFrame()
предоставлятьnull
значение и камера Остановить потоковую передачу.
Кто-нибудь может сказать мне, почему это происходит? Как я могу решить эту проблему? Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Заранее спасибо.