#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. Да, это ответ на мой вопрос.