`

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都能支持的?

相关推荐

Global site tag (gtag.js) - Google Analytics