android实时视频网络传输方案

以320×240大小的视频传输为例
方案 压缩率 压缩/传输方式 实时性 平均流量消耗 传输距离
用camera的回调函数发送原始的yuv420数据 0 无压缩,按帧传输 高(20~30 fps) 很高(6.5 Mbps) 近距离有线或无线
用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有很强的硬件依赖性,因此不同的手机表现是不一样的,有的手机数据传输的时候会出现阻塞现象,实时性就降低了

你可能感兴趣的:(android实时视频网络传输方案)