簡體   English   中英

OpenCV:打開Mobotix相機Feed

[英]OpenCV : Open Mobotix Camera Feed

我有一台Mobotix相機。 這是一台IP攝像頭。 在API中,它們為我們提供了獲取Feed的可能性

HTTP:// [ 用戶 ]:[ 密碼 ] @ [ip_adress]:[ 端口 ] /cgi-bin/faststream.jpg [ 選項 ]


我試過的是像普通網絡攝像頭一樣打開它:

cv::VideoCapture capture("http://...");
cv::Mat frame;

if (capture.isOpened())
    // always false anyway.
while(1)
{
    capture.read(frame);
    cv::imshow("Hi there", frame);
    cv::waitkey(10);
}

僅供參考: 開發人員Mobotix API文檔


編輯:現在感謝berak我只需要在選項中添加&data = v.mjpg:

?stream=full&fps=5.0&noaudio&data=v.mjpg

請注意,在v.mjpg中,只有[dot] mjpg很重要,你也可以把myfile.mjpg。

現在問題是Feed更新的速度。 我有2秒的延遲,加上進給非常慢。 當我更改MxJPG或mxg的流選項時,我得到一個損壞的圖像,其中字節沒有正確排序。

編輯:我試圖直接用mobotix控制中心更改攝像機參數,但只有分辨率影響我的OpenCV程序,而沒有實際改變我訪問圖像的速度。

對於最大速度使用fps = 0它在api文檔中

就像是

http://cameraip/cgi-bin/faststream.jpg?stream=full&fps=0

請參閱http://developer.mobotix.com/paks/help_cgi-image.html

faststream是mjpeg流(用於圖像捕獲),確保關閉mxpeg並選擇能夠提供足夠分辨率的最小圖像。 即使用640×480(設置相機webgui)使其工作,然后增加圖像大小。

請注意,這是用於圖像捕獲而不是視頻,您需要檢測每個jpeg的開頭和結尾,然后從接收緩沖區復制到內存中。

vlc可以處理mxpeg,但是需要從命令行啟動vlc --ffmpeg-format = mxg或者在gui中設置編輯選項ffmpeg-format = mxg,請參閱https://wiki.videolan.org/MxPEG

我知道這篇文章很老了,但我想回答遇到這個問題的其他人。 要獲得沒有幀速率限制的流,您需要使用不同的CGI命令:

http://<camera_IP>/control/faststream.jpg?stream=full&fps=0

根據相機的在線幫助:

http://<camera_IP>/cgi-bin/faststream.jpg (guest access)
http://<camera_IP>/control/faststream.jpg (user access)

“訪客”訪問的默認限制確實是2 fps,但可以從頁面管理菜單>語言和起始頁面進行修改。

有關如何從MOBOTIX攝像機檢索實時流的詳細說明,請訪問以下鏈接: https//community.mobotix.com/t/how-to-access-a-live-stream-with-a-video -client-EG-VLC / 202

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM