Доступ к IP-камере в Ubuntu через Code :: Blocks IDE - PullRequest
0 голосов
/ 30 апреля 2018

Я работаю над задачей, в которой мне нужно получить доступ к живому потоку IP-камеры (Edimax IC-3110P) с помощью OpenCV 3. Моя хост-система - Windows 10, и я использовал Virtualbox для запуска Ubuntu 16.04 (Xenial) 64 -немного. Я использую C ++ и Code :: Blocks (IDE).

Наконец я смог получить доступ к прямой трансляции через Microsoft Visual Studio (в Windows 10) с помощью следующей программы.

#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <iostream>

int main(int, char**) {
cv::VideoCapture vcap;
cv::Mat image;

// This works on a D-Link CDS-932L

const std::string videoStreamAddress = 
"http://admin:1234@192.168.2.3/mjpg/video.mjpg";
   //open the video stream and make sure it's opened

   if(!vcap.open(videoStreamAddress)) {
     std::cout << "Error opening video stream or file" << std::endl;
      return -1;
}

   for(;;) {
     if(!vcap.read(image)) {
        std::cout << "No frame" << std::endl;
        cv::waitKey();
    }
    cv::imshow("Output Window", image);

    if(cv::waitKey(1) >= 0) break;
    }

    }

Однако в Ubuntu с той же программой в Code :: Blocks отображается «Ошибка загрузки потокового видео или файла».

Эта камера не поддерживает ОС Linux, но я могу получить доступ к прямой трансляции через адресную строку браузера (в Ubuntu), но не через мою программу.

Кто-нибудь знает, как решить эту проблему?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...