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

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

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

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

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

Cleverpig said:“其实,感觉上可以自己编写一套流媒体规范的实现,比如将源文件指定为wav格式或者其它的raw格式,然后分段发送到mobile。。
但是这样做确实效率低,而且浪费带宽。本人研究了一下Tea Vui Huangmobilecast实现有些心得,在此与大家讨论一下:
1
。使用MMS发送radiocast:由于MMS服务可以使用图片、音乐等多媒体元素,而且技术比较成熟,所以将它作为radiocast的载体是方便的选择。而对于mobile用户来讲,cast的使用方式可以采用请求和订阅两种模式;

2
radio文件格式的选择:对于某些手机不能支持mp3格式文件,即使支持mp3也受到memory size的限制,所以采用更为普遍、压缩比更大的amr格式是比较好的choice

3
amr文件的分割:由于目前大多数手机仅能支持100KB左右的彩信,所以最佳的cast长度应该是50秒。比如将大约5分钟的mp3文件分割为6amr章节文件,每个章节文件所包含的audio长度为45-50秒。而每个amr格式的压缩比将是普通mp3格式3-6倍。按照播放率为600KB/minmp3格式计算,保守地假定amr格式压缩比为mp3格式的6倍,amr格式的播放率为100KB/min,而45秒的amr文件大小为75KB

所以Tea Vui Huang的做法是很clever的。”

我试验过了,利用ffmpeg的这两个参数,可以控制让ffmpeg来将一个大mp3劈分成许多小段的独立播放的amr文件。
-ss time_offset the start time offset
-t duration set the recording time

比如你写这么个perl文件,然后运行:


@inputFilename = "C:\\opt\\media\\changjin.wma";
@outputFilename = "C:\\opt\\media\\changjin";
for($i=1,$j=1;$i{
system("C:\\software\\ffmpeg.exe -i @inputFilename -ac 1 -acodec amr_nb -t 10 -ss $i @outputFilename.$j.\".amr\"");
}


就把一个大文件拆分成许多小amr了,每一个amr文件只有17KB

Qinjiwy said:“提一个优化的小建议
如果分段太小,播放的间断太多的话,用户感觉上和系统开销都不是很合适.

可以考虑多开几个线程, 另外,每个文件不一定要一样大,可以考虑
文件逐渐增大,从目前移动网速计算,
压缩比高的amr语音文件播放的时间要比下载的时间长.在第一次下载后开始播放的这段时间中,
可以下载比第一次下载大的文件了,这样能减少网络开销




分享到:
评论

相关推荐

    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中,这通常通过HTTP或HTTPS协议实现,通过定期轮询或者使用推送技术(如果服务器支持)来与服务器交换数据。可能涉及到JSON或XML等数据交换格式,将本地数据存储与远程服务器数据库进行同步。开发者需要处理...

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

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

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

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

    mmapi(jsr-135)编程指导

    3. **流媒体支持** - MMSession和MMStream类用于处理流媒体数据。开发者可以通过它们创建连接,实时接收并播放网络上的音频或视频流。 4. **事件处理** - MAPI提供了丰富的事件模型,如播放结束、错误发生等,...

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

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

    3G移动增值开发ppt

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

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

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

    Java案例精粹150例

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

    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