Android 视频直播原理探索

视频直播的流程能够分为以下几步: 采集 —>处理—>编码和封装—>推流到服务器—>服务器流分发—>播放器流播放服务器

1.采集 采集是整个视频推流过程当中的第一个环节,它从系统的采集设备中获取原始视频数据,将其输出到下一个环节。视频的采集涉及两方面数据的采集:音频采集和图像采集,它们分别对应两种彻底不一样的输入源和数据格式。测试

音频采集  音频数据既能与图像结合组合成视频数据,也能以纯音频的方式采集播放,后者在不少成熟的应用场景如在线电台和语音电台等起着很是重要的做用。音频的采集过程主要经过设备将环境中的模拟信号采集成 PCM 编码的原始数据,而后编码压缩成 MP3 等格式的数据分发出去。常见的音频压缩格式有:MP3,AAC,HE-AAC,Opus,FLAC,Vorbis (Ogg),Speex 和 AMR等。。动画

图像采集  将图像采集的图片结果组合成一组连续播放的动画,即构成视频中可肉眼观看的内容。图像的采集过程主要由摄像头等设备拍摄成 YUV 编码的原始数据,而后通过编码压缩成 H.264 等格式的数据分发出去。常见的视频封装格式有:MP四、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等。编码

视频采集的采集源主要有 摄像头采集、屏幕录制和从视频文件推流。视频

推流编码: 推荐Andorid4.3(API18)或以上使用硬编,如下版本使用软编;iOS使用全硬编方案;图片

播放解码:Andorid、iOS播放器都使用软解码方案,通过咱们和大量客户的测试以及总结,虽然牺牲了功耗,可是在部分细节方面表现会较优,且可控性强,兼容性也强,出错状况少,推荐使用。直播

相关文章
相关标签/搜索