在BlackBerry上实现视频监控

来源:互联网 发布:幸运28开奖网站源码 编辑:程序博客网 时间:2024/05/18 01:34

    BlackBerry在北美市场有很高的占有率,如果你的客户北美地区的,那么只要涉及到手机平台的选择,BlackBerry/iPhone/Android是肯定要支持的。虽然目前BlackBerry的手机份额在北美地区有所下降,但是庞大的用户群是你无法忽视的。

 

      BlackBerry开发资料很少,国内就更少了,目前开发者遇到问题都选择在BlackBerry的官方论坛上去寻求帮助。黑莓开发工具用两种,一种是Eclipse + 插件,另外一种是用BlackBerry提供的JDE。虽然Eclipse在易用性上大于BlackBerry JDE,但是配置复杂,调试麻烦,最终还是选择了BlackBerry JDE作为开发环境。

     在BlackBerry开发的过程中,如果用到受限的API,需要进行签名。可以在BlackBerry的官方网站上申请,好像是25美刀。如果只是在模拟器上玩玩,不需要。

 

    下面重点说下遇到的难题:

    由于BlackBerry平台不支持JNI,所以没办法进行软解码。也不是不行,如果你已经移植Java版本的264解码器就没问题。如果你的设备是MPEG4的,网上有开源的解码器,可以试试看效率怎么样。

这里不得不说下,BlackBerry的开放性的确很差,很多的函数都不支持,不知道是否是出于安全原因的考虑。这也直接导致了黑莓的开发者很少,精品的应用程序更少。

   既然软解码行不通,那就考虑能不能调用系统的硬件解码。

  1.黑莓的部分手机支持H264解码。途径有通过RTSP或者播放MP4文件

     通过RTSP串流的确可以播放,系统使用的是UDP传输,可能存在丢包的情况。最要命的是不支持用户认证命令,如果要这样做,只能绕个弯进行用户的验证,但是治标不治本,只要抓下包,即可破解。

     通过播放MP4文件也是可以播放,但是MP4文件的格式比较复杂,并且需要将时间信息等数据先写入到文件里面才可以播放,不支持边下载边播放。既然不支持,那我就写一个一个的MP4文件,然后顺序送进去播放。这样存在一个问题,切换文件的时候会造成黑屏,用户没办法接受

  2.直接用系统的DataSource/SourceStream 进行播放。

     网上有个强人实现了,但是试了很多办法,都没解决问题,提供个链接给大家,看看有没有人能解决这个问题,解决了别忘了告诉我一声,重金收购啊。

    http://supportforums.blackberry.com/t5/Java-Development/Play-H264-video-stream-in-media-applicaton/m-p/468251 

  3.最终的解决办法还是选择了JPEG流播放。唉..无奈啊。要是能用系统的硬件解码,可以播放25FPS. 上图看看最终完成的情况。

登陆界面

 

主界面

 

现场界面

 

Any question: ppnext@163.com