`

J2ME技术手机流媒体(视频、音频)开发

    博客分类:
  • Java
阅读更多
1.       手机JAVA实现支持移动媒体API(MMAPI),MMAPI在Java社区进程中以JSR-135开发(可从手机说明书中得到此信息)

例如:有手机dopod 696,SonyEricsson p908 未提供JSR135实现, NoKIA 7610提供JSR135实现

2.       针对手机进行流媒体开发时,首先确定手机JAVA实现支持的流媒体内容类型(即支持的视频格式)

下述代码可以得到手机JAVA实现支持的所有媒体内容类型

String[] contentTypes =

                Manager.getSupportedContentTypes(null);

Video/3gpp, video/mpeg,audio/mp3 …….

3. 手机进行视频开发,MMAPI必须实现支持控制操作VideoControl类(VideoControl控制可视内容的显示).

* 必须明白,并不是所有的MMAPI实现都支持所有的控制操作类型。

  例如 MOTO K系列手机MMAPI未实现VideoControl类(手机模拟器中已验证)

      可通过System.getProperty(String key)得到一个设备所支持的控制类型.

Key值取:

video.encodings返回一个代表所支持的视频格式的字符串,如果不支持视频内容则返回“null”。

audio.encodings返回一个代表所支持的音频格式的字符串,如果不支持音频内容则返回“null”。

4.手机流媒体: 确定手机JAVA实现支持的流媒体协议(RTSP协议)

1. 流媒体概念:

流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。

2. 流式传输定义很广泛,现在主要指通过网络传送媒体(如视频、音频)的技术总称。

实现流式传输有两种方法:实时流式传输(Realtime streaming)和顺序流式传输(progressive streaming)。一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP的实时协议,即为实时流式传输。如使用HTTP服务器,文件即通过顺序流发送。

1>                     顺序流式传输不适合长片段和有随机访问要求的视频,如:讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。
实时流式传输

2>                  实时流与HTTP流式传输不同,他需要专用的流媒体服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。理论上,实时流一经播放就不可停止, 实时流式传输还需要特殊网络协议,如:RTSP (Realtime Streaming Protocol)或MMS (Microsoft Media Server)。

总结:

    J2ME手机流媒体实现视频广播(如移动监控,电视节目)开发满足条件:

1.       手机JAVA实现支持实时流传输协议: 如:RTSP (Realtime Streaming Protocol)或MMS (Microsoft Media Server)。

2.       流媒体服务器支持手机JAVA实现能播放的视频格式.如3gpp格式

目前能够支持3GP流式播放的流媒体服务器有:

Real的Helix Mobile Streaming Server,

苹果的QTSS Streaming Server,

PacketVideo的PV Streaming Server,

以及国内星谷科技的VServer。



附录:

1.MMAPI支持的控制操作

MMAPI在javax.microedition.control包中包含了12种控制操作:

         MetaDataControl用来从媒体数据中获得元数据信息。

         MIDIControl提供对播放器表现和传输设备的访问。

         GUIControl代表一个具有用户界面组件的控制操作。

         PitchControl升高或降低重放的位置而不改变重放的速度。

         RateControl控制重放的速率。

         TempoControl控制MIDI歌曲的节奏。

         VolumeControl控制音量。

         VideoControl控制可视内容的显示。

         FramePositioningControl可以对一个视频帧精确定位。

         RecordControl记录当前被Player播放的是什么内容。

         StopTimeControl使应用程序可以为一个Player预先指定一个停止时间。

         ToneControl是一个可以播放用户自定音调序列的接口。

2.各大手机厂商开发网站

  http://developer.sonyericsson.com

https://developer.motorola.com

http://www.forum.nokia.com/index.html

http://www.dopod.com

3.几种常用流媒体服务器介绍

   使用HTTP协议的流媒体传输,

当前最红的格式是FLV,当今的视频网站如youtube,土豆网等都是使用这种文件格式。FLV的全名是

Flash Video,特点为文件体积小、跨平台(不依赖于操作系统和浏览器),占用资源小,所以成为了网络最流行的视频格式。

因为使用HTTP协议,传输FLV所用的服务器的选择有很多:

(1)Lighttpd,youtube所使用的服务器

(2)Nginx,由俄罗斯的Igor Sysoev开发的性能优越的轻量级web server

(3)red5,一个java开源FLV服务器

(4)apache

(5)FlashMediaServer,adobe的FLV服务器,收费的。

其它常用的流格式按照厂商和平台的不同可以分为三个类别:

(1)Helix server

real公司的产品,支持RTSP,RTP,PNM等协议,主用用于rm,rmvb,mp3等格式的流传输

可以在Windows和linux平台下架设,开源。

(2)Windows Media Services

微软开发的windows平台下的流媒体服务器,支持mms协议,用于wmv、asf等格式的流传输。

(3)Darwin

Apple公司的流媒体服务器,开源,可部署在linux平台,用于mov和各种mpeg4格式的流传输,如3gp等。



4.什么是3GP文件



    随着手机功能的日益强大,不少朋友用上了可以拍摄和播放视频短片的视频手机,这些视频手机里存储的视频文件通常以.3gp为后缀,

就是大家平时所说的3gp文件。



    关于3gp文件的来历,要从3gpp这个国际组织说起。3gpp是3rd Generation Partnership Program的缩写,翻译成中文叫做第三代合作伙

伴计划,是由欧洲的ETSI,日本的ARIB和TTC,韩国的TTA以及美国的T1在1998年底发起成立的,旨在研究制定并推广基于演进的GSM核心网

络的3G标准,即WCDMA,TD-SCDMA,EDGE等。中国无线通信标准组(CWTS)于 1999年加入3GPP。3GPP的目标是实现由2G网络到3G网络的平滑过

渡,保证未来技术的后向兼容性,支持轻松建网及系统间的漫游和兼容性。



    3gpp组织制订了一系列面向第三代移动通信的标准规范,涵盖了核心网、空中接口、终端等各个环节,其中也包括了多媒体文件格式的

规范,3GPP TS26.244,即3gp文件。



    3GPP TS26.244里面规定了3GP媒体文件的封装格式,音频编码格式,视频编码格式以及流化的扩展等几个方面。



    3GP媒体文件的封装格式沿用了ISO媒体文件的封装格式。大家在PC上看到的.mp4文件也是采用ISO媒体文件的封装格式
分享到:
评论
1 楼 tony_yangzhi 2011-09-09  
学习了。就是不知道,如果只部署一个手机移动在线听音乐的系统。不知道服务器应该选择那一个服务器,而且手机系统android和iphone都能支持的?

相关推荐

    sd.rar_J2me 流媒体_j2me_j2me play_j2me streaming_流媒体 j2me

    J2ME流媒体技术的实现涉及到多个关键组件和步骤。首先,我们需要理解J2ME的Media Player API,这是处理多媒体内容的基础。Media Player API提供了创建、控制和管理媒体播放的能力,包括音频和视频流。通过这个API,...

    基于J2ME的手机视频播放系统的开发

    "基于J2ME的手机视频播放系统的开发"这个标题表明了我们要讨论的是一个使用Java Micro Edition (J2ME) 技术构建的手机应用,该应用专门设计用于播放视频。J2ME是Java平台的一个版本,主要用于嵌入式设备,如早期的...

    j2me流媒体播放思路的简单演示软件.rar

    总结,J2ME流媒体播放是移动开发中的一个重要领域,通过"j2me流媒体播放思路的简单演示软件.rar"这样的示例,我们可以学习到如何在限制资源的环境中构建高效的流媒体播放器。尽管面临挑战,但随着技术的进步,J2ME在...

    基于J2ME的手机游戏开发.pdf

    【正文】 ...总结,J2ME为手机游戏开发提供了一套完整的框架和工具,虽然现在已经被更现代的技术如Android和iOS SDK取代,但理解J2ME的原理和实践仍对了解移动游戏开发的历史和基础有着重要意义。

    j2me流媒体播放.rar

    在 J2ME 中实现流媒体播放功能,涉及到多个关键技术点,包括多媒体编码、网络传输、数据缓冲和用户界面设计等。下面我们将深入探讨这些知识点: 1. **多媒体编码**: 流媒体通常包含音频和视频数据,这些数据需要...

    使用J2ME MMAPI开发移动多媒体应用技术.doc

    - 输出设备:Player识别媒体类型后,将解码后的数据发送到相应的输出设备,如手机的音频或视频硬件。 4. **扩展性与兼容性** - MMAPI的设计允许开发者添加自定义的DataSource和Player实现,以支持新的媒体格式和...

    j2me手机高级编程

    同时,JSR-234(Advanced Multimedia Supplements)提供更高级的功能,如音视频同步和流媒体支持。 5. **持久化应用**:在J2ME中,持久化数据存储可以通过Record Management System(RMS)实现,这是一个简单的键值...

    J2ME手机开发入门

    《J2ME手机开发入门》是一本针对初学者的指南,旨在帮助读者快速掌握Java Micro Edition(J2ME)在移动设备上的应用开发技术。J2ME是Java平台的一个子集,专门设计用于资源有限的嵌入式设备,如早期的智能手机和平板...

    J2ME 本地视频播放器

    这意味着播放器可能还支持流媒体播放,这需要使用HTTP连接来获取远程视频数据。开发者需要处理网络状况不稳定的情况,并确保数据传输的流畅性。 ### 6. 性能优化 为了在资源受限的环境中提供良好的性能,开发者...

    J2ME游戏移植到Android手机

    Android的音频管理更强大且灵活,支持更多的音频格式和流媒体播放。 9. **游戏开发包**: J2ME有一个专门的游戏开发包javax.microedition.lcdui.game,包含如GameCanvas、Layer、LayerManager和Sprite等类。在...

    J2ME手机游戏开发技术PPT---4

    《J2ME手机游戏开发技术PPT---4》是一份专为游戏学院设计的内部教材,包含四个关于Java 2 Micro Edition(J2ME)游戏开发的PPT文件,主要聚焦于网络与多媒体编程以及J2ME的3D编程。J2ME是Oracle公司为小型设备和...

    J2ME 手机开发程序源代码

    流媒体在移动设备上播放音频或视频,是J2ME应用中的一个常见需求。J2ME提供了MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration)的多媒体API,允许开发者处理音频和视频流...

    J2ME手机软件开发之我的设计源代码1

    在本文中,我们将深入探讨...总结来说,J2ME手机软件开发涉及到一系列技术和实践,包括UI设计、数据管理、多媒体处理和设备适配。通过分析这些源代码,开发者可以学习如何在有限的资源条件下创建功能丰富的移动应用。

    《j2me开发大全》源代码

    《J2ME开发大全》是一本专为Java Micro Edition(J2ME)开发者编写的权威指南,涵盖了J2ME开发的各个方面。这本书的源代码提供了丰富的实例,旨在帮助嵌入式系统开发者深入理解和实践J2ME技术。源代码通常包含了书中...

    j2me实用教程-手机游戏开发

    本教程将带你从零开始,逐步了解J2ME环境的搭建,以及如何利用它来开发手机游戏。 **一、J2ME环境搭建** 1. **安装JDK**:首先,你需要在计算机上安装Java Development Kit (JDK),它是J2ME开发的基础。 2. **下载...

    J2ME mpeg视频播放器

    **MPEG(Moving Picture Experts Group)是一种标准的数字音频和视频压缩格式,广泛应用于视频存储和流媒体服务。常见的MPEG文件扩展名有.mpg、.mpeg、.mp4等。它通过高效的数据压缩算法,能在保持高质量的同时降低...

    j2me实现视频播放

    在移动设备领域,Java 2 Micro Edition(J2ME)是一种广泛使用的平台,用于开发运行在功能手机和早期智能手机上的应用程序。"j2me实现视频播放"这一主题涉及到利用J2ME技术实现在这些设备上播放视频的功能。下面将...

Global site tag (gtag.js) - Google Analytics