android手机采集,Android手机直播之采集技术分析

近两年来直播行业越来越火,图玩智能科技为企业提供直播平台二次开发服务以及各类app的开发,欢迎随时咨询www.toivan.com. 作为Android手机直播的研发,本着技术分享的精神,现在写一系列的文章来介绍安卓手机直播,希望能帮助大家了解Android手机直播相关的技术。

总体

如果让大家马上去开发一款Android直播应用,大家可能感觉到无从下手,因此从总体上了解整个手机直播过程是十分重要的。

手机直播需要实现的无非是将手机采集到的视频和音频经过处理后以一定的格式发送到服务器端,整个过程如下所示: 采集、处理、编码、打包、丢包、发送。今天跟大家先介绍一下Android手机端的采集

采集

采集主要包括两个方面:视频采集和音频采集。视频通过摄像头进行采集,这里面涉及到摄像头的相关操作以及摄像头的参数设置,由于各个手机厂商的摄像头存在差异,因此这方面有一些坑,之后的讲摄像头的文章中会一一讲述。音频通过麦克风进行采集,不同手机的麦克风对音频采样率的支持不同,而且有时候为了支持连麦功能需要对音频进行回声消除。

视频采集技术要点:

检测摄像头是否可以使用;

摄像头采集到的图像是横向的,需要对采集到的图像进行一定的旋转后再进行显示;

摄像头采集时有一系列的图像大小可以选择,当采集的图像大小和手机屏幕大小比例不一致时,需要进行特殊处理;

Android手机摄像头有一系列的状态,需要在正确的状态下才能对摄像头进行相应的操作;

Android手机摄像头的很多参数存在兼容性问题,需要较好地处理这些兼容性的问题。

音频采集技术要点:

检测麦克风是否可以使用;

需要检测手机对某个音频采样率的支持;

在一些情况下需要对音频进行回声消除处理;

音频采集时设置正确的缓冲区大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一: 使用javacv来实现,最终也是用过ffmpeg来进行编码和推流,javacv实现到可以直接接收摄像头的帧数据 需要自己实现的代码只是打开摄像头,写一个SurfaceView进行预览,然后实现PreviewCallback将摄像头每一帧的数据交给javacv即可 javacv地址:https://github.com/bytedeco/javacv demo地址:https://github.com/beautifulSoup/RtmpRecoder/tree/master 二: 使用Android自带的编码工具,可实现硬编码,这里有一个国内大神开源的封装很完善的的库yasea,第一种方法需要实现的Camera采集部分也一起封装好了,进行一些简单配置就可以实现编码推流,并且yasea目前已经直接支持摄像头的热切换,和各种滤镜效果 yasea地址(内置demo):https://github.com/begeekmyfriend/yasea 服务器 流媒体服务器我用的是srs,项目地址:https://github.com/ossrs/srs 关于srs的编译、配置、部署、在官方wiki中已经写的很详细了,并且srs同样是国内开发人员开源的项目,有全中文的文档,看起来很方便 这里有最基本的简单编译部署过程 Android直播实现(二)srs流媒体服务器部署 播放器 android端的播放使用vitamio,还是国内的开源播放器,是不是感觉国内的前辈们越来越屌了^~^! vitamio支持几乎所有常见的的视频格式和流媒体协议 vitamio地址(内置demo):https://github.com/yixia/VitamioBundle 这里使用的是yaesa库,先介绍一下直播实现的流程:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值