Android 音视频录制概述

相比于IOS健全的多媒体库,Android的多媒体库就显得非常的发育不全了,视频录制在安卓手机上是一个比较有挑战性的问题,当然我这里说的并不是那种用MediaRecorder做视频录制,那种说实话太low,很固化,灵活性为0。但是现在应用市场音视频的app比比皆是,视频录制在这类音视频应用中又是一种必须,虽然,安卓提供的音视频库是那么的“不堪”,但是,录制视频还是可行的。

抛开刚刚说的MediaRecorder不谈,一个安卓录制视频app中一共有两种不同的录制方式,但基本原理都是一样,都是通过视频的编码器将摄像头数据编码成视频文件。第一种方式叫做buffer录制,第二种是surface录制。buffer录制是将摄像头数据传递给编码器encode,然后在output出来编码出来的数据,最后写入视频文件。surface录制是将摄像头数据通过egl和opengl在编码器的surface中绘制,然后获取surface绘制的buffer,最后写入视频文件。对于音频的录制,buffer和surface方式的音频录制都一样,所以下面我只会在surface录制中讲音频录制。

可能有些小伙伴很疑惑,为什么一个app中视频录制需要两种方式都要呢?这就是因为繁杂的安卓机器问题了,虽然绝大部分手机支持两种录制,但是某些vivo/魅族手机却只支持buffer录制,当然从效率性能各方面上,surface录是比较好的,但遇到不支持的手机,也只能用buffer录制了。

视频录制分为两篇文章来说。在看这两篇文章之前,当然需要一些技术准备啦。首先需要对Android多媒体库有一些了解,其中关键的几个类是MediaCodec(编解码器),MediaMuxer(音视频合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值