郑昀



产品名称



产品版本



Keyword: Mobile VideoControl Media 拍照手机 j2me midp midlet  WebCam  java



VideoCoolala

[MobileWebCam]



1.12.1305


 [J2ME] VideoCoolala(MobileWebCam)

开源说明

摘要:

本文档给出VideoCoolala(MobileWebCam)的开源说明。

第1章 简单描述VideoCoolala(MobileWebCam)的功能和特别之处。

第2章 描述调用VideoCoolala(MobileWebCam)的开源版权声明。

第3章 给出了 VideoCoolala(MobileWebCam)的下载资源。


1背景、功能和特别之处

摘要:本章 简单描述VideoCoolala(MobileWebCam)的背景、功能和特别之处。

 

1.1. MobileWebCam概念

首先,我定义一个名词,我这里提到的MobileWebCam,就像WebCam是网络摄像头一样,MobileWebCam就是“移动网络摄像头”。

但是,您会提出一个疑问了,手机的视频在当前移动网络带宽的情况下是不是不实用呢?

那么,我们换一种方式,把刷新的频率降低降低再降低,15秒钟刷新一次,如何?

 

我们提供的VideoIM手机自动拍照上传器J2ME版本[开源]就是这么一种概念:

一个可以下载到手机(例如Nokia7610已经确实可以下载安装并正常运行)的Java应用程序,用来自动驱动你的手机摄像头定时拍摄一张图像(默认是Jpeg格式,数据量很小)。然后,后台线程将Jpeg图像(很小,大约几KB)上传到服务器上。手机默默地拍照,默默地上传照片,比如你可以设置每隔三分钟拍一张照片,然后上传到​Flickr这个著名的图片共享站点​上,全世界都会看到你的慢速视频。

这样就可以帮助其他系统工作,比如这么一个场景:

PC机上的MSN Messenger用户Vicky正在和你的移动MSN Messenger通过这种方式视频聊天,Vicky的聊天对话框上能够看到你的头像,并且每隔十几秒钟就看到你的手机所看到的画面了,是不是就是一种慢速的移动视频聊天呢?

1.2. 如何来体验MobileWebCam

如果你真的要在实际生活中用到这种功能,那么请申请开通你的GPRS包月套餐,那样20块钱就可以自由使用GPRS了。

建议你的手机是Nokia的拍照手机,同时用Nokia程序管理器设置这个应用配置两个参数:在连接网络时第一次询问,在使用多媒体时第一次询问。

为了更好地体验本应用,请先下载videoim.jad和videoim.jar到计算机上,安装了J2ME模拟器后,双击运行videoim.jad。

1.3. VideoCoolala功能列表

下面介绍VideoCoolala-MobileWebCam的功能列表:

l         我要MobileWebCam

n         启动MobileWebCam

n         停止MobileWebCam

l         设置MobileWebCam

l         关于MobileWebCam

l         退出

 

下面就是应用程序的主界面:

[J2ME]VideoCoolala(MobileWebCam)开源说明_数据

图1-1 VideoCoolala的主界面

[J2ME]VideoCoolala(MobileWebCam)开源说明_数据_02 

图1-2 VideoCoolala的摄像头启动界面

[J2ME]VideoCoolala(MobileWebCam)开源说明_上传_03 

图1-3 VideoCoolala的设置界面

 

1.4. 特别之处

下面,我们说说这个应用程序的特别之处。

l         这个应用程序的总体思路来自于Mowecam的设计理念。

l         MVC的类分解,采用了 mingjava 的思路。

l         对RMS记录存储的封装模式以及对资源的调用方式,则参照了索爱公司的BlueGammon游戏代码。

 

BlueGammon的代码很经典,我只是套用了BlueGammon的RmsFacade类,将对RMS的操作完全封装起来。另外用VideoSettings类来提供存储和读取RMS中关于本应用所需要的几个参数的功能,VideoSettings其实就是调用了RmsFacade类。

 

总结一下特别之处。

l         可以设置每隔多少秒钟,抓拍一张照片,上传服务器;

l         可以设置玩家姓名;

l         可以设置远程服务器的接收页面的URL;

l         在传送数据的过程中可以提示用户,总共要传送多少字节,还剩余多少字节没有传输;

l         传送的过程发生了错误,会有Alert界面提示用户。

 

特别是比原来Mowecam的版本增加了几个特性:

l         可以设置抓拍图像的格式,以及大小,从而能够让用户自己控制上传图像的数据量大小;

l         当请求远端服务器时,加入了动画等候画面,提示用户正在不断地向服务器上传数据;

 

一般来说,Jpeg格式是推荐的,因为它数据量很小,其次是gif和bmp,但这两种格式手机不一定支持,最差的是png格式。

在服务器,我制作了一个很简单的ASP页面来接收图像数据,并进行保存。代码很简单,就是利用ADODB.Stream读写数据流,从而能够接收手机持续不断上传的数据,知道如何保存。

1.5. 小结

总的来说,如果你使用Nokia的拍照手机,在使用VideoCoolala之前,先用Nokia程序管理器设置这个应用配置两个参数:在连接网络时第一次询问,在使用多媒体时第一次询问。

这样,当从菜单上启动MobileWebCam之后,程序在第一次启动摄像头抓拍图像时,Nokia会问你是否允许本程序使用照相机、视频播放或音频应用程序?你选择“是”,如下图所示:

[J2ME]VideoCoolala(MobileWebCam)开源说明_jar_04

图1-4 VideoCoolala的是否要“录制”界面

以后再抓拍照片,手机就不会再询问你了。

然后,程序要把照片上传到服务器上,这时候程序在第一次使用网络时,Nokia会问你是否允许本程序使用网络或收发数据?你选择“是”,如下图所示:

[J2ME]VideoCoolala(MobileWebCam)开源说明_服务器_05

图1-5 VideoCoolala的是否要“网络通话”界面

以后再传递数据,手机就不会再询问你了。

这样,手机默默地拍照,默默地上传照片,不会再来麻烦你了。服务器上的图片就会越来越多。你的手机看到了什么,你的朋友们也就会看到什么,比如你可以设置每隔三分钟拍一张照片,然后上传到Flickr这个著名的图片共享站点上,全世界都会看到你的慢速视频,好玩吧?

 

你可以选择退出停止MobileWebCam或者退出,就可以中断当前的所有行为。下一次启动MobileWebCam,它还会询问你是否允许使用照相机,还会询问是否允许使用网络。

2 开源版权声明

摘要:本章描述VideoCoolala(MobileWebCam)的开源版权声明。

 

由于我这个版本的 VideoIM手机自动拍照上传器J2ME版本 也是基于Mowecam的设计理念基础上改编而来的,所以决定遵照GPL协议的大意开放源代码,您可以自由传播和修改,在遵照下面的约束条件的前提下:

 


条件1



只要你在VideoCoolala(MobileWebCam)的每一副本上明显和恰当地出版版权声明,保持此许可证的声明和没有担保的声明完整无损,并和程序一起给每个其他的程序接受者一份许可证的副本,你就可以用任何媒体复制和发布你收到的原始的程序的源代码。你可以为转让副本的实际行动收取一定费用。你也有权选择提供担保以换取一定的费用。


 


条件2



你可以修改VideoCoolala(MobileWebCam)程序的一个或几个副本或程序的任何部分,以此形成基于程序的作品。只要你同时满足下面的所有条件,你就可以按前面第一款的要求复制和发布这一经过修改的程序或作品。

 

a)

你必须在修改的文件中附有明确的说明:你修改了这一文件及具体的修改日期。

 

b)

你必须使你发布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允许第三方作为整体按许可证条款免费使用。

 

c)

如果修改的程序在运行时以交互方式读取命令,你必须使它在开始进入常规的交互使用方式时打印或显示声明:包括适当的版权声明和没有担保的声明(或者你提供担保的声明);用户可以按此许可证条款重新发布程序的说明;并告诉用户如何看到这一许可证的副本。(例外的情况:如果原始程序以交互方式工作,它并不打印这样的声明,你的基于程序的作品也就不用打印声明)。


 

这样,您就可以自由使用并传播本源代码,当然请您原封不动地保留原作者信息。

 

 

3 资源

 

网络资源:

1:熟练使用J2ME在实际开发中的可选包MMAPI

2:J2ME中用MMAPI开发手机摄像头程序

3:Camera speed evaluation of the Nokia 6600

4:BlueGammon