open cv를 사용하여 cp plus ip 카메라를 내 앱에 연결하려고합니다. 프레임을 캡처하는 데 너무 많은 방법을 시도했습니다. "rtsp"프로토콜을 사용하여 프레임을 캡처하도록 도와주세요. IP 캠의 URL은 "rtsp : // admin : [email protected] : 554/VideoInput/1/mpeg4/1"입니다. 나는 VLC 플레이어를 사용하여 이것을 시도했다. 그 일. libvlc에 의해 프레임을 캡쳐하는 방법이 있고 공개 CV로 전달하는 방법을 언급하십시오.opencv를 사용하여 ip cam에서 프레임 캡처
1
A
답변
0
"rtsp : // admin : [email protected].168.1.108 : 554/VideoInput/1/mpeg4/1? .mjpg"시도해보십시오. opencv는 비디오 스트림 유형에 대한 URL의 끝을 보입니다.
0
카메라의 jpg 스냅 샷을 제공하는 URL에 직접 액세스 할 수 있습니다.
http://me-ol-blog.blogspot.co.il/2017/07/getting-still-image-urluri-of-ipcam-or.html
0
첫 번째 단계는 발견에 RTSP URL을, 그리고 VLC에서 테스트 : ONVIF 사용하여 찾는 방법에 대한 자세한 내용은 여기를 참조하십시오. 이미 그걸 가지고 있다고 하셨 잖아요.
누군가가 rtsp URL을 알아 내야한다면 Linux에서 vista-device-tool (link) 또는 gsoap-onvif (link)를 사용하는 것이 좋습니다. rtsp url이있을 것입니다. . 이미 RTSP의 URL과가있는 경우
vlc rtsp://your_url
: 발견 후 내가 추천하는 RTSP URL은 VLC 플레이어 (link), 당신은 메뉴 옵션을 사용하여 "개방 네트워크 스트림을"테스트하거나 명령 행에서 할 수에서 테스트하기 cv :: VideoCapture를 만들고 프레임을 잡는 것보다 vlc에서 성공적으로 테스트했습니다. 이 같은이 작업을 수행 할 수 있습니다
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
int main() {
cv::VideoCapture stream = cv::VideoCapture("rtsp://admin:[email protected]:554/VideoInput/1/mpeg4/1");
if (!stream.isOpened()) return -1; // if not success, exit program
double width = stream.get(CV_CAP_PROP_FRAME_WIDTH); //get the width of frames of the video
double height = stream.get(CV_CAP_PROP_FRAME_HEIGHT); //get the height of frames of the video
std::cout << "Frame size : " << width << " x " << height << std::endl;
cv::namedWindow("Onvif",CV_WINDOW_AUTOSIZE); //create a window called "Onvif"
cv::Mat frame;
while (1) {
// read a new frame from video
if (!stream.read(frame)) { //if not success, break loop
std::cout << "Cannot read a frame from video stream" << std::endl;
cv::waitKey(30); continue;
}
cv::imshow("Onvif", frame); //show the frame in "Onvif" window
if (cv::waitKey(15)==27) //wait for 'esc'
break;
}
}
는 컴파일하려면 :
g++ main.cpp `pkg-config --cflags --libs opencv`
나는 당신의 방법을 시도했다. 여전히 작동하지 않습니다. 나는 비디오 캡쳐를 카메라 캡처에 사용했다. –
나는 두 가지 대안을 제시 할 수있다. 1) .mp4 또는 .mpeg 대신 .jpeg를 사용한다. 2) ffmpeg로 opencv를 재구성한다. –
ty .. 나는 내가 할 수있는 것을 볼 것이다. ...... –