Подключение IP-камеры OpenCV

#c #opencv

#c #opencv

Вопрос:

Ошибка: «предупреждение: ошибка при открытии файла (../../modules/highgui/src /opencv cap_ffmpeg_impl.hpp:545)»

Я пытаюсь получить доступ к мобильной камере через IP в OpenCV Visual Studio на C . Возникает эта ошибка. Кто-нибудь, пожалуйста, помогите мне в этом отношении. Заранее спасибо.

Комментарии:

1. Можете ли вы показать код, как вы пытаетесь открыть IP-камеру? Это сообщение означает, что URL неверен

2. main{ cv::видеозапись vcap; cv::Mat image; const std::string videoStreamAddress = » USER:PWD@IPADDRESS:8088 /… «; если(!vcap.open(адрес видеопотока)) { std::cout << «Ошибка при открытии видеопотока или файла» << std::endl; возвращает -1; } для (;;) { if(!vcap.read(изображение)) { std::cout << «Без кадра» << std::endl; cv::waitKey(); } cv ::imshow(«Окно вывода», изображение); если (cv::waitKey(1) >= 0) прерывается; } }

3. и я попробовал другой, посмотрите, пожалуйста:

4. int main(int, char **) { cv::видеозапись vcap; cv::Mat image; const std::string videoStreamAddress= «http://<имя пользователя:пароль> @<ip_address>/video.cgi?.mjpg»; // откройте видеопоток и сделайтеуверен, что он открыт, если (!vcap.open(адрес видеопотока)) { std::cout << «Ошибка при открытии видеопотока или файла» << std::endl; возвращает -1;} для (;;) { if(!vcap.read(изображение)) { std::cout << «Без кадра» << std::endl; cv::waitKey(); } cv ::imshow(«Окно вывода», изображение); если (cv::waitKey(1) >= 0) прерывается; } }

5. не пишите код в комментариях — отредактируйте свой ответ. И проверьте URL-адрес подключения с помощью VLC player и ffpmpeg, если оба работают — проблема в вашей программе

Ответ №1:

Единственная проблема, которая вызывает эту ошибку, — это «имя пользователя» и «пароль». Когда я удалил «имя пользователя» и «пароль» с IP-камеры (мобильное приложение). Затем это работает плавно, и я получаю видео на свой ноутбук (Visual Studio C ).

Комментарии:

1. Если это ответ, вы, вероятно, знаете, что он правильный, и в этом случае вы должны его принять. Если это не ответ, вы должны скопировать его текст и щелкнуть edit под своим исходным вопросом и добавить его туда в качестве дополнительной информации, а затем удалить этот «ответ» .

2. Да, это ответ на мой вопрос.