0
我有一個正在進行的項目通過opencv VideoCapture訪問多個IP攝像頭,爲他們中的大多數工作。OpenCV VideoCapture摘要認證
我有一臺新的大華雲臺攝像機使用摘要認證,並且OpenCV中的VideoCapture無法打開它。通過WireShark,我可以看到相機正在返回401 Unaothorized。
我在OpenCV文檔中沒有發現任何關於認證問題的信息。
也許我需要用別的不是OpenCV來解決這個問題?
這是一個最低工作代碼(如果你有一臺相機來測試)。
#include <iostream>
#include <imgproc.hpp>
#include <opencv.hpp>
#include <highgui.hpp>
using namespace std;
using namespace cv;
int main(){
while(1){
VideoCapture cap("http://login:[email protected]/cgi-bin/snapshot.cgi");
if(!cap.isOpened()){
cout << "bug" << endl;
continue;
}
Mat frame;
cap >> frame;
imshow("test", frame);
}
}
這裏是相機響應:
哪個API是'VideoCapture'使用? – zindarod
嘗試所有三種方法無效(CAP_IMAGES,CAP_DSHOW和CAP_FFMPEG) – Diedre
嘗試先通過FFMPEG或Gstreamer命令行訪問攝像機。找到工作流水線後,將該流水線轉換爲'VideoCapture'輸入,這很容易。但你必須用'FFMPEG'或'Gstreamer'構建OpenCV才能使管道與'VideoCapture'一起工作。 – zindarod