- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 Mobotix 相机。这是一个网络摄像机。在 API 中,他们为我们提供了通过以下方式获取提要的可能性
http:// [user]:[password]@[ip_adress]:[port]/cgi-bin/faststream.jpg?[options]
我试过的是像普通网络摄像头一样打开它:
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);
}
仅供引用:Developer Mobotix API Docs
编辑:现在感谢berak我只需要在选项中添加 &data=v.mjpg 即可:
?stream=full&fps=5.0&noaudio&data=v.mjpg
请注意,在 v.mjpg 中,只有 [dot]mjpg 是重要的,您也可以输入 myfile.mjpg。
现在的问题是提要更新的速度。我有 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 x 480(设置相机 webgui)让它工作,然后增加图像大小。
请注意,这是用于图像捕获而不是视频,您需要检测每个 jpeg 的开头和结尾,然后从接收缓冲区复制到内存中。
vlc 可以处理 mxpeg,但需要从命令行开始使用 vlc --ffmpeg-format=mxg 或在 gui 中设置编辑选项 ffmpeg-format=mxg见https://wiki.videolan.org/MxPEG
关于c++ - OpenCV : Open Mobotix Camera Feed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25142130/
我有mobotix camera sdk 1.02 (最新版本),并将其与 curl 库一起使用。在此 sdk 1.02 中,给出了一个示例代码 mxgconv,它执行文件 IO 并给出输出。现在我在
我有一个 Mobotix 相机。这是一个网络摄像机。在 API 中,他们为我们提供了通过以下方式获取提要的可能性 http:// [user]:[password]@[ip_adress]:[port
我是一名优秀的程序员,十分优秀!