首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

在Mac OS下实现视频监控

2014-04-30 
在Mac OS上实现视频监控一开始没想过要做Mac OS的视频监控软件,一天一位合作过的客户问我Mac OS上的视频监

在Mac OS上实现视频监控

         一开始没想过要做Mac OS的视频监控软件,一天一位合作过的客户问我Mac OS上的视频监控软件能不能做,我竟然鬼使神差的答应了,呵呵,也许是开的价钱不错吧。 在Windows平台上,安防厂商的通用做法是提供一个插件,通过浏览器安装插件。当然也有提供客户端软件的,但是部署起来没有插件来的简单。同样的道理,在Mac OS上也可以用这两种方式来实现。下面来具体阐述:

1.      通过浏览器插件方式

Mac OS上主流的浏览器是Safari,当然现在很多浏览器厂商也推出了Mac OS上的浏览器,比如Chrome,FireFox,Opera等等。

在XCode 4.2以前(包括4.2),新建一个Project,里面会有SafariPlug-in的选项,一路完成下来,就可以创建一个标准的插件工程。但在4.2以后就没有了这个选择,并且插件的方式也发生了巨大的变化。在苹果推出狮子系统以后,不再支持这种方式生成的插件,这也导致了一票的插件失效,比如支付宝等等,没办法,苹果就是这么牛。

这里讨论另外一种方式就是NPAPI. NPAPI是NetscapePlugin Application Programming Interface的缩写了,虽然Netscape已经去了,但是这个却被沿用下来,在各大浏览器中都得以实现. 并且Mac OS平台上的Safari, Chorme, FireFox均支持NPAPI,多么令人兴奋。别高兴的太早,仔细研究下又会发现,在Mac OS下,如果要将插件潜入浏览器里面,这里强调嵌入两个字,是因为后面我还会给出一个投机的办法。视图窗口必须从CALayer类继承,这也就意味着你没办法使用NSWindow, NSView这些AppKit框架里面的东西。这也意味着如果你想添加一个文本框控件,必须写网页代码来实现,然后和控件做交互。Oh My God, 对于我们这些不会写Html的人来说太麻烦。果断放弃。如果Windows控件实现方式是Html+JS+ActiveX实现的,那么我推荐你采用这种方式,更简单也更专业。另外还有一种投机的办法,就是使用NSWindow, 在浏览器当中弹出一个窗口,当然这显的不是很专业,但是有些时候客户就是需要这种东西。使用下面的代码可以实现弹出窗口。

floatfScreenWidth  = [[NSScreen mainScreen]frame].size.width;

floatfScreenHeight = [[NSScreen mainScreen] frame].size.height;

                     

NSRect rc =NSMakeRect((fScreenWidth-fViewWidth)/2, (fScreenHeight-fViewHeight)/2,fViewWidth, fViewHeight);

NSUIntegeruiStyle = NSTitledWindowMask;    

NSBackingStoreTypebackingStoreStyle = NSBackingStoreBuffered;

                     

m_pMainWindow =[[BaseWindow alloc] initWithContentRect:rc styleMask:uiStylebacking:backingStoreStyle defer:NO];

[m_pMainWindowsetTitle:@"DVRClient"];

 

[m_pMainWindowmakeKeyAndOrderFront:m_pMainWindow];

[m_pMainWindowmakeMainWindow];

[m_pMainWindowsetFrame:rc display:TRUE];

[m_pMainWindowSetupUI];

这里我也提供一个简单的demo给大家参考,NPAPICore Animation Movie Plugin。这个是Apple提供的一个官方的做法。Google搜索下就可以找到工程代码。

2.      通过客户端方式实现

这种方式是最兼容,最方便的开发途径,没有任何的开发风险,因为这一定是可行的。国内的海康,大华都是通过这种方式实现的。下面是软件完成后的截图:

a.登录界面

在Mac OS下实现视频监控

b. 现场界面

在Mac OS下实现视频监控

c. 本地回放,远程回放界面

在Mac OS下实现视频监控

4. 远程配置界面

在Mac OS下实现视频监控

e. 设备列表界面

在Mac OS下实现视频监控


具体里面的代码实现方式就不说了,涉及到保密方面的东西,如果你有什么疑问或者合作,可以联系我

mail: ppnext@163.com

qq: 625593576



热点排行