android硬编码封装mp4,音频编解码(软/硬编码),音频转码

> 音频编解码(软编码)

FFMpeg视频软件编解码的。B站的ijkplayer等。html

音频数据的编解码- http://blog.51cto.com/ticktick/1760191

1.Android AAC Encoder

一款轻量级的 Android aac 编码库:https://github.com/timsu/android-aac-enc

2.opencore-amr-android

从 opencore 抽取出来的 amr 编解码库:https://github.com/kevinho/opencore-amr-android

3.iLBC-Android

iLBC 是著名的 WebRTC 项目的音频编解码模块,iLBC-Android 是从中抽取 iLBC 模块移植到 Android 平台的我的项目,地址:https://github.com/lukeweber/iLBC-Androidandroid

> 音频转码

MediaCodec编译pcm为aac- https://blog.csdn.net/tn0521/article/details/44980183

android MediaCodec 音频编解码的实现,转码-  https://www.cnblogs.com/Sharley/p/5964490.html

mp3转码成aac为例,转码实现原理:mp3->pcm->aac,首先将mp3解码成PCM,再将PCM编码成aac格式的音频文件。PCM:能够将它理解为,未通过压缩的数字信号,mp三、aac等 理解为pcm压缩后的文件。播放器在播放mp三、aac等文件时要先将mp3等文件解码成PCM数据,而后再将PCM送到底层去处理播放。 接入了一个第三方的SDK,从中下载下来的音频是AAC格式的。采样率是44.1KHZ。双声道,16Bit。那么首先我须要把他转成PCM。

编码的aac音频不能播放:在编码过程当中须要为aac音频添加ADTS head。github

> 音频编解码(硬编码MediaCodec)

利用Android4.1增长的API MediaCodec和Android 4.3增长的API MediaMuxer进行Mp4视频的录制。

MediaExtractor:可用于分离视频文件的音轨和视频轨道,若是你只想要视频,那么用selectTrack方法选中视频轨道,而后用readSampleData读出数据,这样你就获得了一个没有声音的视频。传入的是一个音频文件(mp3),因此也就只有一个轨道,音频轨道。

mime:用来表示媒体文件的格式 mp3为audio/mpeg;aac为audio/mp4a-latm;mp4为video/mp4v-es 此处注意前缀 音频前缀为audio,视频前缀为video 咱们可用此区别区分媒体文件内的音频轨道和视频轨道web

Android音频编解码和混音实现- https://blog.csdn.net/zhaoshaolei123/article/details/76034298

Android音频编解码和混音- https://github.com/YeDaxia/MusicPluside

ACC音频有ADIF和ADTS两种,第一种适用于磁盘,第二种则能够用于流的传输,它是一种帧序列。

-- 数字音频的有关属性:

1.采样频率(Sample Rate):每秒采集声音的数量,它用赫兹(Hz)来表示。(采样率越高越靠近原声音的波形);

2.采样精度(Bit Depth):指记录声音的动态范围,它以位(Bit)为单位。(声音的幅度差);

3.声音通道(Channel):声道数。好比左声道右声道。编码

AudioRecord采集的是PCM数据。Android官方提供给咱们的用于编解码的类是MediaCodec,它是android 4.1(API 16)才引入的,因此只能工做于andorid4.1以上的手机,若是想兼容4.1如下版本的手机,只能使用第三方库,如大名鼎鼎的ffmpeg,B站的ijkplayer等。spa

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值