IP摄像头 新增加的无客户端连接时自动关闭摄像头功能,能够在无客户端连接时自动关闭摄像头以节省电力消耗,并减少机身发热,而在有客户端连接时摄像头会自动开启。目前这个特性在三个平台(Android,Windows Phone和Windows 8.1)均已实现。在最新版的IP摄像头中,还增加了对低版本Android 2.2的兼容,不过在Android 2.2下由于系统限制并不支持双摄像头切换。配合自动关闭摄像头这个特性,如果手头有闲置的旧手机,装上IP摄像头这个APP,就能作为无线监控用了。

Android版下载    Windows Phone版下载    Windows 8.1版下载

IP摄像头 for Android

IP摄像头 for Windows Phone

昨晚一个朋友把笔记本带过来了,说会自动关机。开机一看,发现散热器出风口没有风,然后机器就自动断电掉了,凭感觉,肯定散热器堵了。拆开散热器一看,如下图所示,正在吃饭的就别看了……

厚厚的灰尘堵住了散热鳍片

把那层像毛毯一样的灰去除之后,重新装上,散热孔出热风了,笔记本运行几个小时都没问题!

本代码用于远程重启水星无线路由一体机MD898N,硬件版本v2,固件版本0.8.0 1.0 v1003.0 Build 140216。

由于需要,需要用C#实现对这台机器的定时重启,根据chrome开发者工具的抓包结果,发现新版的固件不支持直接的base认证,但是原理一样,只是把用base64加密过的密码存在cookies中了(今年开始更新后的固件都是这种登录方式),发送http请求时候带上这个cookies即可通过认证!

具体代码如下:

	string passwd = "12345678";   // 路由器登录密码
	string routeIP = "192.168.1.1";  // 路由器IP
	byte[] bytes = Encoding.Default.GetBytes(passwd);
	string base64str = Convert.ToBase64String(bytes);
 
	string url = "http://" + ip + "/cgi?7";
	HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
	req.Referer = "http://" + ip + "/";
	req.Method = "POST";
	req.CookieContainer = new CookieContainer();
	req.CookieContainer.Add(new Uri(url), new Cookie("Authorization", "Basic " + base64str));
	req.ContentType = "text/plain";
	string payload = "[ACT_REBOOT#0,0,0,0,0,0#0,0,0,0,0,0]0,0\r\n";  // 抓包后发现在请求中携带这个字符串即可让路由器重启
	byte[] pl = Encoding.UTF8.GetBytes(payload);
	req.ContentLength = pl.Length;
	Stream s = req.GetRequestStream();
	s.Write(pl, 0, pl.Length);
	s.Close();
	req.GetResponse();

IP Camera for win8

再给Windows Phone版的IP摄像头添加完Web录像功能后,也该给Win8.1版的添加这个功能了,毕竟这两个平台有太多的相似性。开始工作的时候才发现由于之前使用的架构是针对WP8平台实现的,在Win8.1上并不适合在录像的时候实现声音录制,也就是录制后很难包含音频。加上之前的架构在Win8.1上的分辨率切换经常出错,所以Win8.1上不支持分辨率切换。所以是时候重写了这部分代码了,换成比较适合在Win8.1上工作的架构。为了调试分辨率代码,特地买了个微软HD3000来调试,发现最高分辨率可以上到1280×720,有钱还是应该用点好的设备啊,果断把之前的罗技C110扔了。

现在Win8.1版的IP摄像头已经可以自由切换分辨率,并且支持Web端远程录像!功能上比WP8平台还多了个MJPEG视频流录制。

最后,在用另外一台笔记本调试时,发现IP摄像头还支持直接用PC的网络名称访问,如下图,这样就不用记住IP地址了。经过测试,这个特性仅仅适用于Win8版的,手机平台WP和Android均不支持。

新版已发布,欢迎下载使用。

IP Camera for win8 IP Camera for win8

 

IP摄像头率先在WP8平台上支持了Web端远程录像(包含声音),并支持在线查看录像存档。原本是打算先在Win8.1上实现,但由于两个平台的差异,Win8.1版的IP摄像头会多花些时间,WP8平台先提供了这个特性。

性能测试发现,Web端在查看视频流时开启录像,CPU占用率仅仅增加了5%左右,程序运行还是很流畅的。由于目前WP8平台的限制,暂时不能从手机上查看已存档的录像,必须通过Web端在线查看,后期升级到WP8.1平台会提供支持。

考虑到对低端手机的适配以及性能和电池的影响,滤镜将不会作用于视频录制。也就是无论你使用了哪个滤镜,录制后的视频都是原始画面。

新版本已经在Windows Phone应用商店上线,欢迎下载使用 🙂

从浏览器端控制视频录制,并在线查看视频存档

从浏览器端控制视频录制,并在线查看视频存档