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应用商店上线,欢迎下载使用 🙂

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

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

应网友要求,在最近一次更新中对这两个应用加入了开机自启动的支持,可以通过设置,打开此选项,如下图所示,《无线话筒》类似!

开机自启动设置

开机自启动设置

注意事项:要把锁屏关了,关机前确保手机已经连接到wifi,并且wifi开关是开着的,有些手机自带有管家之类的要把程序添加进开机启动白名单或者允许开机启动才行,另外请不要把这两个应用同时设成开机启动,后果你懂的!这样开机后程序就会自动运行,只需打开浏览器或者客户端就能收到图像和音频信号!

目前这两个应用以及在谷歌Play商店中了,国内由于周末缘故,得过几天才会在国内市场出现,不过应用汇和其它几个商店已经可以下载了。

由于Windows Phone系统不支持开机自启动,所以这个特性暂时不会出现在Windows Phone版中。

IP摄像头开始支持实时音频传输了,现在你不仅可以看到图像,还能听到声音!使用支持html5的浏览器(Chrome、Firefox、Opera或者IE9以上)来打开IP摄像头的网址,就能看到图像听到声音了。不过目前由于浏览器实现html5音频的不同,会导致声音有10秒左右的延迟。这是由于浏览器缓冲时导致的,不同浏览器的延迟时间也不同。当然你也可以使用客户端比如VLC媒体播放器来收听,并把缓冲时间调整为100ms左右就不会有延迟了,后期考虑用Flash来代替html5处理音频以降低延迟。

目前 IP摄像头 for Win8.1版和Windows Phone 8版已经支持实时音频了,并且已经上架,欢迎使用!Android版的IP摄像头也已经成功实现了,目前还处于调试阶段,最快一周内发布,欢迎到时使用!

IP摄像头的音频支持

在编写IP摄像头的Win8.1版和WP8版时遇到多线程调用StreamSocket发送数据时被意外Dispose,具体是StreamSocket是从StreamSocketListener接受连接后传过来的,然后用DataWriter发送一行数据后插入List供别的线程发送数据,问题就出现在别的线程发送数据时产生Dispose异常,可是奇怪的是我并没有将StreamSocket给Dispose,因为我还要用来传输数据呢!

问题解决:在插入List之前,将DataWriter先DetachStream,然后再给别的线程条用,这样就正常了!估计是DataWriter离开作用域后被销毁时顺便把StreamSocket给连带Dispose了,这个在使用StreamSocket时候得注意一下!当然如果用用DataReader的话也得DetachStream!