`
happmaoo
  • 浏览: 4504361 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

J2me流媒体技术实现讨论[2]

阅读更多
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>

cleverpig said“之所以有些格式的媒体文件不支持分段播放,是因为它们文件中不含有索引信息。
就像在以顺序方式读取文件时无法seek一样。。
这个问题可以通过人工(或者用程序)将文件分割后部署放到服务器上来解决。

以及“随着iTunes4.9版的发布,podcaster(pod播客们)能够建立自己的podcast,并可以通过增加幻灯片式的图片使其更加吸引人。而且在附加信息中的URL还可使用户门自由的找到其他的podcast资源。这成为了podcast世界的“大地震”。目前这一特性移植到手机上是通过划分“章节”来完成的,即将podcast资源文件划分为多个章节,这样做才能让没有“重播/定位”能力的手机进行播放。

但是另一个挑战将摆在移动用户面前,例如:移动收听必须对中断事件进行管理。当我们正开始播放20-40分钟的podcast时,一个电话或者短信突然到来,这些情况将使播放被迫中断。此时我们只能选择重新打开podcast从头再听或者是没有心情从头听。另外媒体文件格式问题也是对移动用户的“噩梦”,大多数手机都不支持mp3或者AAC这种podcast的文件格式,但它们都支持.3gp的标准AMR格式文件。而且能够保存几兆mp3或者AAC文件)的手机目前也不是很普及。

但是Tea Vui Huang制作的javacast改变了这一切。这个软件就是将mp3音乐转换为手机可以播放的.3gp 标准amr(audio recording format)格式。大家可以到http://www.ringtone4me.com/看看,上面有一些具有此类功能软件链接。

javacast的作者——Tea Vui Huang也是Mobcast的作者, 已经制作了一套处理工具将转换Podcast到一个java Midlet中(用户只需要在手机中调用javacast无线下载这个j2me应用程序,并可以播放podcast)。这使那些podcasters们通过简单的增加一个下载这个midlet的链接就能很容易是获得他们的podcast。 <!-- the post be hidden -->”

Huang的Mobcast,确实非常著名,几个月以前,在我写toodouPodcastMidlet时就看过许多人介绍过他,但是就是连不上http://www.geocities.com/tvhuangsg/mobcast/这个地址,所以一直未睹真容。

转换各种格式的video为3gp,转换各种格式的audio为amr,这些在开源软件mplayer手下是随手拈来,只需要看懂mplayer的各种参数即可做到了。所以拜mplayer所赐,我也能够制作手机看交通实况录像,都要感谢那些mplayer的开发人员!

"移动收听必须对中断事件进行管理",这个确实需要考虑。当进入Paused状态时,需要通知播放线程暂停,同时连接线程暂时就不要去抓取服务器的媒体数据了;等界面切换回来后,播放线程继续replay,连接线程继续下载音乐。

斑竹说“可以通过人工(或者用程序)将文件分割后部署放到服务器上来解决”,我想也是,简单的文件分割是不够的,或者说仅仅适合于wav这种原始数据格式。应该事先将音乐文件用mencoder分解成一段一段的音乐文件放在服务器上,mencoder将处理每一段的格式问题保证能独立播放,这样手机下载起来只需要按照编号一段一段地下载即可,服务器不再需要运算和添加头信息。

美中不足,如果两个player切换播放,中间会有一个卡啪声。

cleverpig said“有兴趣的话可以看jffmpeg,是一种能够处理音频视频的java媒体框架。
”以及

“想了一下,提出一个“移动音频流网关”的想法:可以使用服务器采用“实时”转化格式的方式,将mp3、wav等格式音频转换为amr格式,当然也可以做分段,无论音频源是什么(甚至是podcast)都可以下载到手机上收听。但这样做的话,服务器的负载是个问题,尽管已用采集过的音频源不用再次处理。 <!-- the post be hidden -->”

其实,我原来写的toodouPodcast就是这么一个概念,由于那些播客们提供的音乐格式不符合手机播放,所以我都用toodouPodcast这么个java web service调用ffmpeg工具进行音频转换。转换格式,确实是一个很费CPU资源的事情,而且时间很长,如果用户多的话,对服务器压力极大。
那么现在做做分段也不错,这样,更适合手机用户。

Jffmpeg应该是对ffmpeg这个C编写的工具的Java封装。

另一个封装的是
http://fobs.sourceforge.net/
FOBS, the C++ & JMF wrapper for ffmpeg.




分享到:
评论

相关推荐

    j2me实现视频播放

    "j2me实现视频播放"这一主题涉及到利用J2ME技术实现在这些设备上播放视频的功能。下面将详细讨论实现这个功能所需的关键知识点。 1. **J2ME基础知识**: - J2ME由KVM(Java虚拟机)和几个配置及 profiles 组成,如...

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

    - **GC4-S302-061062 网络与多媒体编程**:这个文件可能更偏重于理论教学,详细阐述网络和多媒体编程的基本原理和技术,包括协议解析、流媒体处理等。 - **GC4-S302-065066, 069070, 067068, 071072 J2ME 3D编程*...

    J2ME手机开发入门

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

    J2ME音乐手机游戏

    游戏的实现涉及到多个J2ME技术点: 1. **用户界面(UI)设计**:使用MIDP(Mobile Information Device Profile)提供的用户界面组件,如Canvas,创建自定义的游戏画面。 2. **事件处理**:监听用户的按键输入,对每...

    《j2me 开发大全》

    《J2ME开发大全》是一本专为Java Micro Edition(J2ME)开发者设计的全面教程,旨在帮助读者深入理解和掌握这一技术。J2ME是Java平台的一个子集,主要用于嵌入式系统、移动设备和物联网设备的开发,如手机、电视、...

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

    8. **文件存储和流媒体**:考虑本地文件存储视频或通过网络流媒体播放,了解如何在J2ME中处理数据的读取和写入,以及HTTP或RTSP协议的使用。 9. **测试与适配**:广泛的设备测试,确保应用能在各种手机上正常工作,...

    J2ME 无线音乐随身听

    **J2ME 无线音乐随身听:...随着技术的发展,现在的音乐应用可能已经采用了更先进的技术,如Android或iOS平台的原生开发,但J2ME作为早期移动开发的代表,其设计理念和实现方法仍然对现代移动应用开发有着深远的影响。

    j2me视频播放

    在 J2ME 中实现视频播放功能是一项挑战,因为资源有限且平台支持的技术有限。下面将详细讨论如何在 J2ME 中实现视频播放,并涵盖相关知识点。 首先,了解 J2ME 的架构是至关重要的。J2ME 包含配置(Configurations...

    基于j2me的在线天气预报程序

    它提供了丰富的API,可以实现多媒体、网络通信、数据存储等功能,使得开发者能够构建功能强大的移动应用,例如我们今天要讨论的在线天气预报程序。 在线天气预报程序的核心功能在于获取并展示实时的天气信息。在...

    一个J2ME的手机客户端例子..包括发短信,上传图片,与服务器数据同步等.

    在本文中,我们将深入探讨基于J2ME(Java 2 Micro Edition)的手机客户端应用程序,这是一个在移动设备上运行的轻量级平台。这个特定的示例项目包含了多个功能,如发送短信、上传图片以及与服务器进行数据同步,这些...

    在线播放器,可以进行在线播放

    在给定的场景中,我们讨论的是一个专门针对手机平台的在线播放器,其主要技术栈是Java和J2ME。 Java是一种广泛使用的编程语言,尤其在移动应用开发领域。J2ME(Java 2 Micro Edition)是Java平台的一个子集,专门为...

    计算机科学与技术专业毕业论文参考选题.doc

    - **视频点播系统的设计与实现**:构建支持大规模并发访问的流媒体服务系统,提升用户体验。 - **科学计算器设计与实现**:开发具备高级数学计算功能的计算器,满足科研工作者的需求。 - **基于Matlab的图像分割方法...

    mmapi(jsr-135)编程指导

    - **Player**: 实际播放媒体内容的对象,支持不同类型的媒体,如音频、视频或流媒体。 - **DataSource**: 提供媒体数据的源,可以是本地文件、网络流或者内存中的数据。 2. **多媒体处理** - **音频处理**: ...

    JAR电子书源代码和JBook非常类似

    由于这个JAR文件与JBook类似,我们可以推断它也具备类似的特性,并且可能使用了相似的设计模式和技术实现。开发者可能借鉴了JBook的一些优点,比如用户体验设计、性能优化等方面。 标签“电子书”、“J2ME”和...

    symbian Series 60应用程序开发(英文版)

    《Symbian Series 60应用程序开发》是针对智能手机平台Symbian OS上Series 60用户界面的应用程序设计指南,主要涵盖了Symbian C++和J2ME两种编程语言的开发技术。这本书深入探讨了如何在Symbian平台上创建高效、功能...

    Java案例精粹150例

    Inc)开发的程序语言,最初于1995年发布,其一经推出便引起了广泛的关注和讨论,包括《时代》(Time)、《商业周刊》(Business Weekly)、CNN等媒体都对其功能和魅力进行了讨论。Java的特性包括简单性、面向对象、...

    3G移动增值开发ppt

    这为移动增值业务提供了广阔的发展空间,例如手机上网、流媒体播放、移动支付、手机游戏等。 在Java技术方面,Java作为跨平台的编程语言,在移动开发中占据重要地位。尤其是Java ME(Micro Edition),它是专为资源...

    Java手机程序设计入门

    2. **MVideo-Mobile Streaming Video Players**:适用于移动设备的流媒体播放器。 - **网址**:http://jshape.com/mvideo/ 3. **Jshape MIDP KVM Project**:提供了优化后的KVM环境,旨在提高MIDP应用的性能。 - ...

    自己动手写SIP协议栈

    1. **用户代理程序SipUA**:实现了客户端功能,如发起和接收呼叫、处理媒体流等。 - **RTP模块**:处理实时传输协议(RTP),确保音频和视频数据的实时传输。 - **编解码器模块**:支持不同格式的音频和视频编码。...

    JAVA5程序员开发南考试大纲

    大纲涵盖了广泛的Java技术,包括基础语法、面向对象编程、异常处理、输入/输出系统,以及特定的技术如Struts和Hibernate。以下是大纲中各知识点的详细解释: 1. **Java概述**:这部分要求考生理解Java的基本特征,...

Global site tag (gtag.js) - Google Analytics