一:使用javacv来实现,最终也是用过ffmpeg来进行编码和推流,javacv实现到可以直接接收摄像头的帧数据须要自己实现的代码只是打开摄像头,写一个SurfaceView进行预览,之后实现PreviewCallback将摄像头每一帧的数据交给javacv即可javacv地址:demo地址:二:使用Android自带的编码工具,可实现硬编码,这儿有一个国外高手开源的封装很健全的的库yaseacentos webrtc服务器搭建,第一种方式须要实现的Camera采集部份也一起封装好了linux安全加固linux 电子书,进行一些简单配置就可以实现编码推流,而且yasea目前早已直接支持摄像头的热切换,和各类滤镜疗效yasea地址(外置demo):服务器流媒体服务器我用的是srs,项目地址:关于srs的编译、配置、部署、在官方wiki中早已写的很详尽了,但是srs同样是国外开发人员开源的项目,有全英文的文档,看上去很便捷这儿有最基本的简单编译布署过程Android直播实现(二)srs流媒体服务器布署播放器android端的播放使用vitamiocentos webrtc服务器搭建,还是国外的开源播放器,是不是觉得国外的高手们越来越屌了^~^!vitamio支持几乎所有常见的的视频格式和流媒体合同vitamio地址(外置demo):这儿使用的是yaesa库,先介绍一下直播实现的流程: