<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
[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.jad和TrafficCam.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
下面就是应用程序的主界面:
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"></shapetype><stroke joinstyle="miter"></stroke><formulas></formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f><lock aspectratio="t" v:ext="edit"></lock><shape id="_x0000_i1025" style="WIDTH: 180.75pt; HEIGHT: 256.5pt" type="#_x0000_t75"></shape><imagedata src="file:///C:%5CDOCUME~1%5CVICTOR~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.png" o:title=""></imagedata>
图1-1 Mobile TrafficCam Viewer的主界面
<shape id="_x0000_i1026" style="WIDTH: 186.75pt; HEIGHT: 262.5pt" type="#_x0000_t75"></shape><imagedata src="file:///C:%5CDOCUME~1%5CVICTOR~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.png" o:title=""></imagedata>
图1-2 Mobile TrafficCam Viewer的TrafficView主界面,提供了Download&Play命令
<shape id="_x0000_i1030" style="WIDTH: 168pt; HEIGHT: 267pt" type="#_x0000_t75"></shape><imagedata src="file:///C:%5CDOCUME~1%5CVICTOR~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.png" o:title=""></imagedata>
图1-3 下载了国贸桥的交通录像,并在播放中
<shape id="_x0000_i1027" style="WIDTH: 183.75pt; HEIGHT: 258.75pt" type="#_x0000_t75"></shape><imagedata src="file:///C:%5CDOCUME~1%5CVICTOR~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image007.png" o:title=""></imagedata>
图1-4 Mobile TrafficCam Viewer已经下载了西直门的交通录像,并在播放中
<shape id="_x0000_i1028" style="WIDTH: 164.25pt; HEIGHT: 263.25pt" type="#_x0000_t75"></shape><imagedata src="file:///C:%5CDOCUME~1%5CVICTOR~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image009.png" o:title=""></imagedata>
图1-5 Mobile TrafficCam Viewer停止播放下载的交通录像,提供了Replay命令来重放
<shape id="_x0000_i1029" style="WIDTH: 176.25pt; HEIGHT: 264pt" type="#_x0000_t75"></shape><imagedata src="file:///C:%5CDOCUME~1%5CVICTOR~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image011.png" o:title=""></imagedata>
图1-6 Mobile TrafficCam Viewer的Settings界面,来设置转换服务器地址以及下载录像的秒数
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的代码很经典,我只是套用了BlueGammon的RmsFacade类,将对RMS的操作完全封装起来。另外用VideoSettings类来提供存储和读取RMS中关于本应用所需要的几个参数的功能,VideoSettings其实就是调用了RmsFacade类。
总结一下特别之处。
l 可以设置转换服务器下载多少秒钟长度的交通实时录像;
l 可以选择从1到58个摄像头的录像,遍及京城各个角落;
l 可以设置远程服务器的Web Service的URL;
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:下载midlet:jad: TrafficCam.jad jar:TrafficCam.jar
网络资源:
1:熟练使用J2ME在实际开发中的可选包MMAPI
2:实例解析MMS流媒体协议,下载LiveMediaVideo[1]
3:BlueGammon
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 |
相关推荐
总结,通过J2ME技术实现手机看交通监视器实时录像是一项挑战性的任务,涉及到网络连接、多媒体处理、用户界面设计、数据优化、电池管理、安全性以及跨设备兼容性等多个方面。成功开发这样的应用,不仅要求深入理解...
开发者需要理解如何使用Java实现这些协议的客户端,以连接到交通监视器服务器并请求实时视频流。 此外,优化资源管理也是关键,因为手机设备通常有有限的内存和处理能力。开发者需要编写高效代码,确保应用在低功耗...
《深入解析:j2me手机游戏地图编辑器》 在移动设备尚未普及智能系统的年代,J2ME(Java 2 Micro Edition)是开发手机游戏的重要平台。其中,地图编辑器作为游戏开发的关键工具,帮助开发者高效地创建和管理游戏场景...
手机动画编辑器就是基于J2ME技术,用于创建和编辑在这些设备上运行的动画的专用软件。 J2ME手机动画编辑器允许开发者和设计师通过图形用户界面来创建、编辑和预览动画效果。这包括绘制帧、设置帧序列、添加过渡效果...
在2000年代初期,J2ME是许多非智能手机上实现互联网浏览的主要技术,其中“j2me手机浏览器”就是这样一个应用。这个应用允许用户在他们的手机上访问网页,尽管其功能和性能可能与现代智能手机上的高级浏览器相比有限...
这个标题“J2ME手机游戏图片编辑器”暗示了我们正在讨论的是一个运行在J2ME环境下的应用程序,它的主要功能是允许用户在手机上编辑游戏中的图片资源。 J2ME图片编辑器可能包含以下功能点: 1. **图像浏览与选择**...
**J2ME手机程序开发** Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机和平板电脑。它提供了开发和部署小型应用程序,称为MIDlets,的能力。J2ME在手机程序...
【J2ME手机游戏地图编辑器】是一款专为Java Mobile Edition(J2ME)平台设计的工具,旨在帮助游戏开发者创建和编辑手机游戏中的地图。J2ME是Java的一个子集,主要用于移动设备和嵌入式系统,它提供了丰富的功能,...
**J2ME手机电话本详解** ...总的来说,J2ME手机电话本的实现涉及了J2ME的多个关键技术,包括数据存储、用户界面设计、事件处理和错误处理等,通过这些技术的综合运用,我们可以为移动用户提供便捷、实用的电话本功能。
《J2ME手机高级编程》涉及的是Java 2 Micro Edition(J2ME)在移动设备上的高级应用开发,尤其关注无线通信、游戏开发、电子地图浏览、播放器实现、持久化存储、移动商务应用以及XML模型的应用。这些主题涵盖了移动...
**J2ME手机游戏动画编辑器** Java 2 Micro Edition(J2ME)是一种轻量级的Java平台,主要用于开发移动设备、嵌入式系统和智能卡等资源有限的设备上的应用程序。它由Java ME规范定义,包括多个配置和 profiles,以...
《J2ME手机游戏案例精编电子教程》是一份深入探讨Java 2 Micro Edition (J2ME)在手机游戏开发中的应用的宝贵资源。J2ME是Java平台的一个子集,专为嵌入式设备,如早期的智能手机和平板电脑设计,它提供了开发移动...
《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》《J2ME手机游戏开发技术详解》...
J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,专门用于资源有限的设备,如早期的智能手机和功能手机。J2ME为移动设备提供了丰富的应用程序开发环境,尤其是在手机游戏领域,它曾经是开发手机游戏的主流...
**J2ME手机游戏开发毕业论文** Java 2 Micro Edition(J2ME)是Java平台的一个子集,专为资源有限的嵌入式设备,如早期的移动电话和掌上设备设计。它提供了开发和部署应用程序的框架,包括手机游戏。这篇毕业论文...
总结来说,J2ME手机游戏开发涉及了平台理解、用户界面设计、游戏逻辑实现以及性能优化等多个方面。虽然现代智能手机主要使用更强大的平台如Unity、Cocos2d-x等开发游戏,但了解J2ME仍有助于理解早期移动游戏的开发...