[J2ME]手机看交通监视器实时录像 实现说明

news/2024/7/1 7:22:46

[J2ME] 手机看交通监视器实时录像

实现说明

摘要:

本文档给出Mobile TrafficCam Viewer的实现说明。

1 简单描述Mobile TrafficCam Viewer的功能和特别之处

2 给出了 Mobile TrafficCam Viewer的下载资源

1背景、功能和特别之处

摘要:本章 简单描述Mobile TrafficCam Viewer的背景、功能和特别之处。

 

1.1. 手机看交通重要路口摄像头 北京司机的心愿?

我每天开车三个多小时,最喜欢听的节目就是1039的一路畅通。堵在北四环的时候,热切地盼望着主持人早点播报路况信息。但往往他们不说北四环,可能因为这里常年拥堵吧。这时就心想,要是我自己能够看到前行路上每一个交通要道的实况就好了,知道什么时候通了,什么时候茬上了,这样也有个盼头,或者提前选择道路避让。

 

您该问了,北京各个地方的交通监视器摄像头能提供给你吗?

答,可以,北京各个路口的摄像头实况,已经有人提供流媒体服务器播放了。

mms://real.u-mail.cn/cebeijing1,到 mms://real.u-ail.cn/cebeijing58。为了演示本项目,我选择了国贸桥的监视器:mms://real.u-mail.cn/cebeijing10

 

您又有疑问了,手机怎么看呢?

答,当然了,现有的各种品牌的手机都不会支持流媒体的,他们只能播放手机存储卡的媒体文件或者内存中的InputStream。我们呢,就必须自建一个服务器,帮助手机转换流媒体为手机支持的标准播放格式,然后提供给手机下载播放。这个下载转换过程是很快的。

 

那么,在当前移动网络带宽的情况下如何保证实用性呢?

答,我们并不是让手机播放实时的流媒体,而是当用户想看路况时,就通过GPRS通知我们的3GP转换服务器,仅仅去下载交通监视器流媒体数据的几秒钟长度数据,然后转换为3GP标准格式。这样,一段2秒钟的实时录像大约为35KB,在中国移动GPRS的带宽为13Kbps~54Kbps情况下,最多3秒钟就下载到手机上了并播放。整个过程大约在10秒钟之内就能完成,这样比较接近于实时交通了,用户应该可以接受。

 

下载的实况录像是否保存在手机上呢?

答,我们只将数据存储在内存中,然后让手机播放,并不会占用手机存储卡空间。

1.2. Mobile TrafficCam Viewer概要

我们提供的Mobile TrafficCam Viewer J2ME版本 就是这么一种概念:

一个可以下载到手机(例如Nokia7610已经确实可以下载安装并运行)Java应用程序。

每次选择它的“Download&Play”命令,它就会向我们的服务器发起请求(通过GPRS),然后下载服务器准备好的3gp格式数据,并播放它你还可以选择Replay刚才下载的交通路况录像。

 

1.3. 如何来体验Mobile TrafficCam Viewer

这样,每天当我在车里,在安慧桥前苦苦等待的时候,就可以拿起手机随时看一眼前方惠新东桥的实时路况录像,以解我心忧!

或者当我停在翠宫大厦前时,就可以先看一眼安慧桥的实时路况录像,以决定是不是还走四环。

 

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

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

为了更好地体验本应用,请先下载TrafficCam.jadTrafficCam.jar到计算机上,安装了Nokia开发者模拟器后,用S60系列的模拟器来运行TrafficCam.jad。你就可以看到下面所描述的效果了。

在服务器端,我配置了一个Java Web Service,来做mms流媒体的格式转换工作,从WMV3格式转换为3gpp格式。3gpp格式是标准,MIDP2.0的手机都支持的。

 

1.4. Mobile TrafficCam Viewer功能列表

下面介绍Mobile TrafficCam Viewer的功能列表:

l         TrafficView

n         Download&Play

n         StopDownload&Play

l         Settings

l         About

l         Exit

 

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

                  

界面主菜单

 

 

 

 

 

1-1 Mobile TrafficCam Viewer的主界面

 

 

 

 

 

 

TrafficView界面 

 

 

 

 

 

1-2 Mobile TrafficCam ViewerTrafficView主界面,提供了Download&Play命令

国贸桥录像在手机上的显示

 

 

 

 

 

1-3 下载了国贸桥的交通录像,并在播放中

 

 

 

 

 

 

西直门

 

 

 

 

 

1-4 Mobile TrafficCam Viewer已经下载了西直门的交通录像,并在播放中

 

 

 

 

 

 

西直门重放

 

 

 

 

 

1-5 Mobile TrafficCam Viewer停止播放下载的交通录像,提供了Replay命令来重放

 

 

 

 

 

 

设置界面

 

 

 

 

 

1-6  Mobile TrafficCam ViewerSettings界面,来设置转换服务器地址以及下载录像的秒数
 

1.5. 特别之处

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

l         这个应用程序的总体思路其实很简单,最重要的工作是在服务器端由一个Java Web Service做的。本Midlet应用就是利用KSoap2和远端Web Service交互之后,下载3gp媒体文件流,然后播放。

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

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

 

对于MVC的类分解,你还可以参考我的另一篇文章《[J2ME]RSSOwlMidlet(RSS无线阅读器)设计说明》以及《[J2ME]Mobile TrafficCam Viewer设计说明》

BlueGammon游戏源代码,你可以从

http://www.cnblogs.com/Files/zhengyun_ustc/Bluegammon-eclipse.rar 下载。

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

 

总结一下特别之处。

l         可以设置转换服务器下载多少秒钟长度的交通实时录像;

l         可以选择从158个摄像头的录像,遍及京城各个角落;

l         可以设置远程服务器的Web ServiceURL

l         转换出的3gp格式能够实际被手机所播放。(并不是每一个Convert Application都能够转换出能够真正被Nokia手机识别的3gpp格式!我也是花费了很长时间才寻找到解决之道的。)

 

实际上,mpeg格式也是很多手机支持播放的,但是因为mpeg数据量是3gpp格式的两倍以上,而且3gpp格式是未来的标准,所以最终我们还是选择了3gpp

那么什么是3gpp呢?

3G peer protocol(3gpp)是基于3G移动通信网络上的一种创建、传输、回放多媒体的标准。这种标准是基于MPEG-4编码技术的。市面上众多的MPEG-4标准只要支持3GPP这个标准都可以用于3G移动通信设备上。

1.6. 小结

总的来说,让手机播放流媒体,目前是做不到的。但是不等于说,基于流媒体的应用就无法在手机上实现,只要换一个思路,就可以。

不过,交通路况实时录像是一个比较特殊的流媒体移动应用。它的用户是可以接受只能察看几秒钟乃至10秒钟的录像的,因为短短几秒钟的路况录像信息就足以让人判断出来是拥堵还是畅通了。

 

2 资源

我的Mobile TrafficCam Viewer资源:

1《[J2ME]手机实时交通监视器开源说明》

2:下载源代码:http://www.cnblogs.com/Files/zhengyun_ustc/trafficcam-src.rar

3:下载midletjad: TrafficCam.jad jar:TrafficCam.jar

 

网络资源:

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

2实例解析MMS流媒体协议,下载LiveMediaVideo[1]

3BlueGammon

4:北京各个路口的摄像头实况。以后下班前先看看路况再走

mms://real.u-mail.cn/cebeijing1 mms://real.u-ail.cn/cebeijing58

下面是已经辨认出来的:

3 三元桥 mms://real.u-mail.cn/cebeijing3

7 马甸 mms://real.u-mail.cn/cebeijing7

8 西直门 mms://real.u-mail.cn/cebeijing8

9 西厢月坛桥 mms://real.u-mail.cn/cebeijing9

10 国贸桥 mms://real.u-mail.cn/cebeijing10

14 天宁寺桥 mms://real.u-mail.cn/cebeijing14

15 永定门 mms://real.u-mail.cn/cebeijing15

16 手帕口桥 mms://real.u-mail.cn/cebeijing16

17 西二环(官园北)?mms://real.u-mail.cn/cebeijing17

26 十里河 mms://real.u-mail.cn/cebeijing26

27 木樨园南mms://real.u-mail.cn/cebeijing27

34 北二环小街桥 mms://real.u-mail.cn/cebeijing34

35 二环东直门 mms://real.u-mail.cn/cebeijing35

36 二环德胜门 mms://real.u-mail.cn/cebeijing36

37 安定门 mms://real.u-mail.cn/cebeijing37

41 三环蓟门桥 mms://real.u-mail.cn/cebeijing41

42安贞桥 mms://real.u-mail.cn/cebeijing42

44 白石桥 mms://real.u-mail.cn/cebeijing44

47 阜石路出四环西北角 mms://real.u-mail.cn/cebeijing47

48 西四环五棵松北 mms://real.u-mail.cn/cebeijing48

50 北苑路 mms://real.u-mail.cn/cebeijing50

51 八达岭 mms://real.u-mail.cn/cebeijing51

52 八达岭2 mms://real.u-mail.cn/cebeijing52

 

郑昀@ultrapower

产品名称

产品版本

Keyword: Mobile VideoControl Media 媒体播放 j2me midp midlet  交通 实时路况录像WebCam  java

Mobile

TrafficCam

Viewer

1.1.0

 





http://www.niftyadmin.cn/n/3649657.html

相关文章

Android项目实战系列—基于博学谷(二)界面设计

一、原型设计介绍 百度百科:原型设计是交互设计师与PD、PM、网站开发工程师沟通的最好工具。而该块的设计在原则上必须是交互设计师的产物,交互设计以用户为中心的理念会贯穿整个产品。利用交互设计师专业的眼光与经验直接导致该产品的可用性。产品原型…

使用EditPlus开发Java程序的配置

学Java,也要玩转EditPlus 很多初学者开始学习编程语言时,都会接触到EditPlus。许多人抱怨这个软件太原始,不好用。但是我却以为它就像是一件不错的艺术品——许多人说它不好,是还没发现它的美。那么,我就以Java语言的…

Android项目实战系列—基于博学谷(三)注册与登录

由于这个模块内容较多,篇幅较长,请耐心阅读。 注册与登录模块分为三个部分 欢迎界面 注册界面 登录界面 一、欢迎界面 1、创建工程,命名为BoXueGu,包名为com.boxuegu。 2、导入界面图片luunch_bg.png,导入drawable文件夹中。 3、…

入门javascript_JavaScript中的ES6箭头功能入门

入门javascript介绍 (Introduction) With ES6, there were many updates to the JavaScript, including the spread operator, object destructuring, new type of variables, and more. One of the most notable changes were arrow functions, a new and concise way to writ…

[j2me]利用JLayerME-CLDC0.2播放MP3的试验[1]

有一个JLayerME-CLDC0.2,专门是用来在CLDC1.0/MIDP2.0上播放MP3文件以及获取mp3文件的位速/采样率的。JLayerME是自己做解码器解析MP3格式,然后自行转换为wav格式,这个格式是真机都支持的,然后再让Manager.createPlayer进行播放。…

前端:Angular框架与Ionic框架集成Html翻译pipe(管道)

在前端开发的时候经常会遇到页面显示的内容有HTML标记。默认是没有经过翻译的。集成翻译管道就可以正常显示内容。由于Angular与ionic集成的方法有点不,所以分开写。 一、Angular框架集成pipe 1、新建一个管道 新建命令:ng g pipe pipe/tohtml tohtml…

bem css_如何使用ITCSS和BEM解决大规模CSS瓶颈

bem css介绍 (Introduction) On frontend codebase projects, requirements and sometimes scopes can change frequently. When requirements change and you adjust the stylesheet or extend the styles of a selector in a particular page, such changes often affects ot…

Java基础---多态、抽象类、接口

2015-4-4 一、多态 1、定义:某一个事物,在不同时刻表现出来的不同状态。 2、多态的前提与体现: (1)要有继承关系; (2)要进行方法的重写; (3)要父…