JAVA做音视频解析(MP4)
java用来做音视频解析的还是挺少的,刚巧领导给分派了这个工作,就硬着头皮干了4个月。基本上算能解决mp4的音视频解析了。share一下,希望能对有这方面需求的人提供帮助,也希望能有更好的建议和解决方案。
此文不涉及RTP,RTCP协议,H264解码,因为本人的专业知识实在有限,不过我还是特别希望有此方面开发经验的兄弟指点一二(c/c++ 方向的也可以)
Lib:这里用到了jave(一个日本的framework封装了ffmpeg),spring2.5.6,依赖于jdk1.6和ffmpeg SDK3.2。
MP4利用ffmpeg分割为aac和h264文件分别解析,可将如下代码封装到java.lang.ProcessBuilder,多线程调用进行MP4分离。
递归上面这个方法,记录一些关键的字段,保存到list里,这里我定义了一个对象AudioBean,他继承于MediaBean,没有子类字段。因为标准aac文件时线性的,所以记录了以下字段,以便分析。
9 楼 tian-84 2009-12-21 请问,有人能知道楼主在写些啥不。。。。反正我是看不懂。。。。代码也没注释啊,尤其是那段解析的代码,更是云里雾里! 10 楼 prowl 2009-12-21 回楼上,我这代码上面写了几十行注释,您都没看吧 11 楼 cw1011 2009-12-22 看不懂 不过楼主的共享精神值得学习 12 楼 ctfzh 2009-12-22 我看了老半天还是没有看懂 13 楼 rocwon 2009-12-23 我在2004年之前做这个玩意儿,MPEG2/4的解码/传输/播放,RTP/RTCP协议栈是自己实现的。当初我硬着头皮研究了两个东西:FFMPEG和MPEG4IP 14 楼 xiaobao0501 2009-12-25 还是有点意思的.只不过领域不同罢了.
任何文件都有其组成规律.读协议很痛苦的.
以前曾经曾经被逼验证一个bmp图片是否是黑白的方法,就是缺少类似楼主这种资料.
谢谢分享.没准以后有用呢. 15 楼 jeeper 2009-12-26 请问楼主c/c++有从视频(如rm等)文件中提取音频信息的么? 16 楼 dizdev 2010-03-01 Good Point~~~
我一直在做这方面的事情~~
使用你这样的方法只能针对 文件格式的 进行编解码~~ right?
那么在传输上就存在瓶颈,because所有的工序都要经过文件方式编解码!
我一直在写关于mpg4的软编码包,这样可以提供流支持从而达到同步,但是目前进展太慢
1:严重缺乏资料
2:没有任何借鉴
有兴趣大家可以一起研究,造福java群体 17 楼 hnzhangshi 2010-06-09 能不能提供一些jave的资料,最近我也是为了工作,要用java解析视频音频文件,我的邮箱是hnzhangshi@163.com,谢谢了 18 楼 tapestry1122 2011-08-30 有mp4parser干嘛不用呢?
mp4文件格式就是n个container组成的