k歌之王: 为前阵子做的手机视频监控做个总结,希望为后来人提供一些参考。大家一起把手机流媒体增值应用的蛋糕做大:)
手机视频监控应用已经兴起多年,在GPRS/EDGE网络环境下就已经有不错的应用表现。大致分为以下三类:
1. 核心在服务器,客户端用手机自带的支持RTSP流媒体播放器,nokia用realplayer,wm上用coreplayer(有些山寨机也有自带的流媒体播放器)。 优点:便于大规模运营推广,不必开发适配各种手机类型的客户端,缩短了研发周期。 缺点:只能用来浏览视频,无法满足日益丰富的客户定制需求。
国内做的较早的有星谷科技(www.starv.tv),他们的核心竞争力就在强大的流媒体服务器。当然,可能他们现在也在开发独立的手机客户端:)
2. 有独立的手机客户端, 但为了方便适配手机,采用跨手机平台的KJAVA语言开发。国内采用此方案的有手视通,安装包直接从其网站WAP PUSH到手机,安装使用十分方便。 客户端支持用户认证,地址管理,截屏等操作。播放效果大概在5FPS CIF。
3. 有独立的客户端,采用C/C++开发。 优点是有大量开源工程可以移植可加快开发进度。运行效率也较KJAVA更高。播放效果在12FPS CIF左右。
本人采用的是第3种方案。关于视频监控的架构就不再赘述了。DVRS是主流,支持大规模在线访问的运营级平台(转码,WEB管理,用户认证等)是门槛。
独立客户端的优势就在满足客户的定制需求。手机视频监控应用场景中 除了视频播放这一基本功能外,还应有地址管理,即拍截图,录像回放,全屏放大,云台控制。这也是之前本人实现的全部功能。 目前支持windows mobile和Symbian操 作系统。 支持h.263,mpeg4和h.264三种视频格式的网络传输和解码。下图的监控点地址 点击:
PC上用realplayer就能打开。
视频属性是mpeg4 qcif,码率也较低,画面模糊了点,这是视频源分辨率和码率较低造成的,码率调到48K以上或者分辨率调到CIF 效果就好很多。下图仅为演示:)
下面就讨论一下每一项功能的实现。
1) 远程视频播放:最基本功能,在播放时用户应可以选择各种操作。
2) 全屏放大: 当原始图像为CIF或QVGA时,该功能可获得更好的观看效果。
3)地址管理:这是UI部分,主要就包括添加/编辑/删除地址。
4) 即拍截图:windows mobile用SDL响应按键并拷贝屏幕BMP。SYMBIAN我参考的screenshot开源工程。截屏存放的路径应可以用户自己设定。
5) 录像回放: 这是一个重要需求,用户可以把实时视频录制一下,在手机和PC都能观看
6) 云台控制: 当DVRS内置云台,手机可以控制镜头转动,这将是很好的用户体验。云台协议很多,目前支持PELCO D。