android实时视频网络传输方案总结(一共有五套)

来源:互联网 发布:2015年度网络热词 编辑:程序博客网 时间:2024/05/01 21:42

最近研究了Android的实时视频网络传输问题,在视频处理方面花费了大量精力进行研究,总结出以下五套方案,并加以比较

 

320×240大小的视频传输为例

方案压缩率压缩/传输方式实时性平均流量消耗 传输距离用camera的回调函数发送原始的yuv420数据0无压缩,按帧传输高(20~30 fps)很高(6.5 Mbps)太恐怖了O_O 近距离有线或无线用MediaRecorder对yuv420进行H264硬编码后发送高(95%)帧间压缩,视频流传输高(20 fps)低(30~70 Kbps) 可以远距离调用本地H264编码库(JNI)对一帧YUV420数据编码后发送高(97%)帧间压缩,按帧传输低(2 fps)低(20 Kbps) 可以远距离对一帧数据用GZIP库压缩后发送(很奇葩的做法)较高(70%~80%)帧内压缩,按帧传输低(5 fps)较高(300 Kbps) 可以远距离对一帧数据用JPEG方式压缩后传输一般(60%左右)帧内压缩,按帧传输高(25 fps)高(170 Kbps) 可以远距离(带宽允许的话)

注:MediaRecorder有很强的硬件依赖性,因此不同的手机表现是不一样的,有的手机数据传输的时候会出现阻塞现象,实时性就降低了

 

综上来看,方案2(MediaRecorder)和方案5(JPEG)还是可以考虑的,由于本人的项目只需要近距离无线传输,并且硬件水平也不怎么高,故选择了方案5

 

 

以上方案是本人最近比较具体而深入地研究实时视频编码和传输方案后总结出来的,希望需要研究视频传输的朋友们可以借以参考!

阅读全文
0 0