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

简介:
  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_off        set 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<=1000;$i+=10,$j++)

    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语音文件播放的时间要比下载的时间长.在第一次下载后开始播放的这段时间中,
可以下载比第一次下载大的文件了,这样能减少网络开销

目录
相关文章
|
2月前
|
编解码 监控 C++
C++音视频编程探秘
C++音视频编程探秘
126 1
|
10月前
|
Web App开发 编解码 安全
音视频绕不开的话题之WebRTC
闲来无事,我们今天探讨下音视频绕不开的一个话题:WebRTC。WebRTC之于音视频行业,无异于FFMpeg,可以说WebRTC的开源,让音视频行业大跨步进入发展快车道。
160 0
|
2月前
|
Web App开发 编解码 监控
RTSP协议探秘:从原理到C++实践,解锁实时流媒体传输之道
RTSP协议探秘:从原理到C++实践,解锁实时流媒体传输之道
911 0
|
Web App开发 编解码 JavaScript
WebRTC技术笔记笔记:WebRTC 网络技术理论与实战(一)
WebRTC 网络技术理论与实战(一) - WebRTC 概述
154 0
|
5G 程序员 定位技术
IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲
那么作为IM开发者,或者移动端开发者来说,提前了解5G技术显然是很有必要的。那么什么是5G技术?技术原理是怎么样的?5G技术将带来哪些技术革新?本文将以零基础的应用程序开发者为阅读对象,帮你找到这些问题的答案。
119 0
IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲
|
Web App开发 编解码 移动开发
【WebRTC原理探索】大势所趋,迈向认识 WebRTC第一步
【WebRTC原理探索】大势所趋,迈向认识 WebRTC第一步
394 0
【WebRTC原理探索】大势所趋,迈向认识 WebRTC第一步
|
Web App开发 安全 算法
【WebRTC原理探索】未来可期,WebRTC的诞生发展
【WebRTC原理探索】未来可期,WebRTC的诞生发展
243 0
【WebRTC原理探索】未来可期,WebRTC的诞生发展
|
编解码 人工智能 自然语言处理
一文读懂阿里云直播技术是如何实现的
东京奥运会正如火如荼举行中,全球亿万观众蜂拥至各大转播平台观看奥运赛事,此时平台直播能力显的尤为重要。阿里云作为视频直播平台的技术提供商,凭借在产品技术、资源带宽、服务保障等方面优势,可为各大转播平台提供全链路技术支持和保障,确保极致观赛体验。下面,小编就带大家了解阿里云视频直播技术是如何实现的:
1081 0
|
存储 Web App开发 编解码
如何使用下一代编码技术提升流媒体体验
本文来自Bitmovin总裁及联合创始人Stefan Lederer LiveVideoStackCon2019北京大会上的分享。Stefan介绍了下一代编解码器和编码技术的实施,以及如何让观众有更好的流媒体和视频体验。另外,还进一步解释HEVC、VP9和AV1如何在不同的设备上运作。如果将这些编解码器结合,可以降低比特率获取更大的存储空间,把CDN成本降低30%。
645 0
如何使用下一代编码技术提升流媒体体验
|
Web App开发 缓存 算法
白话解读 WebRTC 音频 NetEQ 及优化实践
NetEQ 是 WebRTC 音视频核心技术之一,对于提高 VoIP 质量有明显的效果,本文将从更为宏观的视角,用通俗白话介绍 WebRTC 中音频 NetEQ 的相关概念背景和框架原理,以及相关的优化实践。
白话解读 WebRTC 音频 NetEQ 及优化实践

热门文章

最新文章