Foscam 网络摄像机:获取快照

问题描述 投票:0回答:3

我正在尝试从我的 Foscam FI9816P 相机获取快照。 我使用以下地址:

http://[IPADDRESS]:[PORT]/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=[USER]&pwd=[PWD]

这在浏览器中运行良好,显示图像快照。

以编程方式,我过去一直使用另一台相机,提供(“原始”)JPG 图像作为响应:

using (WebClient client = new WebClient())
{
    byte[] JpgFile = null;
    JpgFile = client.DownloadData(sWebCam);
    // ...
}

现在,这款新相机提供“HTML 页面”作为响应,其中包含图像链接作为嵌入式

img
标签:

<html><body><img src="../snapPic/Snap_20150729-164352.jpg"/></body></html>

现在,重点是如果我指向图片地址:

http://[IPADDRESS]:[PORT]/snapPic/Snap_20150729-164352.jpg

我收到404 - 未找到错误。 我无法看到“幕后”发生了什么来获取图像;最重要的是,我不知道如何在 C# 中获取“原始”图像 JPG。

编辑[1]:

我成功了,解析 html 中的图像标签,并发送第二个“GET”请求:

sWebCam = String.Concat("http://", cConfig.WebcamIpAddress, "/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=[USER]&pwd=[PWD]");
try
{
    JpgFile = client.DownloadData(sWebCam);

    string sTmp = System.Text.Encoding.Default.GetString(JpgFile);
    sTmp = sTmp.Substring(sTmp.IndexOf("<img src=\"") + "<img src=\"".Length);
    sTmp = sTmp.Substring(0, sTmp.IndexOf("\"/>"));
    sTmp = sTmp.Replace("..", "");

    sWebCam = string.Concat("http://", cConfig.WebcamIpAddress, sTmp);
    JpgFile = client.DownloadData(sWebCam);
}

所以,我想知道为什么从浏览器访问最终图像地址http://[IPADDRESS]:[PORT]/snapPic/Snap_20150729-164352.jpg

)会给出404。这就是我感到困惑的最初原因...

c# image video ip-camera
3个回答
2
投票
我遇到了同样的问题,因为 snapPicture2 函数应该返回“原始”图像(与 snapPicture 不同,返回它包裹在 HTML 页面中),但由于所谓的错误(参考:

http://foscam.us/forum/fi9816p-broken-snappicture2-bug-t13482.html)。

在我现有的系统中,我需要原始图像,这导致我进一步调查将 NodeJS 模块作为输出(顺便说一句,可在 GitHub 上找到:

https://github.com/andreatondo/foscam-snapshot-nodejs)解决问题。

为了回答您的问题,Foscam 似乎将图像保存在

/snapPic/ 路径中,只是为了满足您的请求所需的时间,然后将其删除。这就是当您尝试使用 HTML 页面中的链接时它返回 404 的原因。

这只是为了确认您的方法是正确的,至少在 Foscam 在下一次固件更新中解决该问题之前是这样。


0
投票
使用

wget

下载:

wget -m -p -k "http://192.168.8.108:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=XXX&pwd=XXX"
    

0
投票
无法进一步使用它,但想分享。

wget -m -p "https://x.x.x.x:443/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=xxxx&pwd=xxxx" -O "image.jpg" --no-check-certificate

在用户的根文件夹中下载 .jpg(脚本从哪里运行?!?) 在 Foscam C2M 上测试。

© www.soinside.com 2019 - 2024. All rights reserved.