RTSP实时音视频开发实战课程:<RTSP实时音视频开发实战>

音视频开发入门基础知识(音频入门篇)

目录

前言

音频的采集和播放

音频常见的格式

音频的编码


前言

在音视频开发入门基础知识(视频入门篇)里面已经介绍过关于视频开发的基础知识,本文主要介绍音频开发中的基础知识。

音频的采集和播放

我们知道人们在聆听这个世界的音乐或者和他人交谈时候就必须通过声音,声音传递给人的耳朵,再传递给大脑,就能通过声音知道听到的内容是什么。如果通过手机或者电脑来和别人交流那么就需要手机能采集到声音,也需要手机能播放声音。实际上手机也好电脑也好,对于声音的采集都需要麦克风来采集声音;如下图声音经过麦克风采集后将声音转为电信号,电信号会通过芯片转为数字信号,最总会生成我们能播放的音频文件,比如mp3等,mp3这些存储的音频就是音频数字信号。

如果我们要将手机里的音频文件进行播放,首先需要将声音的数字信号转为电信号,电信号来激发扬声器发出声音,被人耳听到,如下图所示是数字音频文件播放的过程。

学过初中物理的我们都知道声音是一种波,那么声波是如何变成数字信号的呢?声音转为数字音频的过程主要有:采样、量化、编码

采样:就是将连续的模拟信号(电信号),离散取样到的一个离散信号的过程。

量化:把信号幅度取值的数目加以限定记录下来,如下图所示是量化后的信号。

编码:按照一定的格式记录 量化后的数据。编码过程按照固定的bit(如8bit或者16bit)将量化后的二进制(01)数据保存为十进制或者16进制的数据。通常音频采集到编码过程采用脉冲编码调制(PCM) ,通过脉冲编码调制可以得到PCM的音频数据

音频常见的格式

生成PCM需要按照一定采样率对输入的声音数据进行采样,通常采样率有8000HZ,16000HZ,32000HZ、44100HZ、48000HZ等。采样率越高采样精度越高,得到的音频的质量(音质)越好;将音频的每个采样点转为十进制数据的过程需要生成特定bit的数据,通常有8bit、16bit、24bit等,采样点的bit数越高那么音质也是越好的。通常我们的播放设备有多个扬声器或者声音采集过程拾取不同空间的声音,就有了多声道这个概念;多声道通常是包含了多个通道/音轨的声音数据,可以在播放过程声音更加有立体感,以及听声辨位。根据声道数来区分音频有单声道、双声道、立体声等。

从上图看一个PCM文件本身的大小、音质等参数和音频的采样率、声道数、采样点bit数有很大关系。以采样率为44100HZ为例,音频每秒中采集44100个数据点、每个数据点按照16bit(即2个字节)存储,单声道每秒的音频采样数据为44100x2=88100个字节=86.13KB,双声道则为44100x2x2=176200个字节=172.02KB。

音频编码

将声音采样为PCM的音频数据后数据量还是比较大的,一般会对PCM数据再次进行压缩编码,音频压缩编码的目的和视频压缩编码一样,都是使用最少的数据来传递/存储更多的信息。常用的音频编码有OPUS、AAC、MP3、G711等;通常音频编码的压缩效率可以达到10倍以上。在实音视频通话中常用OPUS、AAC和G711;MP3大多是音视频媒体存储采用的编码格式。从音质上看音质由高到低的顺序为:OPUS>AAC>MP3>G711。下面主要对AAC音频编码做个介绍。首先音频编码也是按照音频帧为单位一帧一帧的进行编码;通常一个音频帧的帧长度可以为320个采样点、512个采样点、1024个采样点等;如果音频采样率为44100HZ,帧长为1024,则帧率为44100/1024=43 fps,如果一个采样点为16bit(2个字节)则一帧音频帧大小为1024x2=2048个字节,对于双声道的音频来说则一帧音频帧大小为1024x2x2=4096字节,经过AAC编码后通常一帧数据可以压缩到300~400字节。

AAC编码帧的结构如下图,主要包含AAC 头部,和AAC的数据部分。其中AAC头又分为ADIF和ADTS格式。

音视频开发入门基础知识(音频入门篇)相关推荐

  1. 【音视频开发】基础知识:视频简介

     在学习了⾳频的相关概念之后,现在开始讨论视频,视频是由⼀幅幅图像组成的,所以要学习视频还得从图像学习开始.  与⾳频的学习⽅法类似,视频的学习依然是从图像的物理现象开始回顾,这⾥需要回顾⼀下⼩学做过 ...

  2. Android音视频开发---0基础入门准备篇

    文章目录 0,题记 1,学习路线 2,学习目标 任务列表 基础知识 FFmpeg 3,开始音视频开发必备的技能 1,C语言. 2,Linux. 3,基本的Linux编译执行命令,以及vim操作. 4, ...

  3. Android 音视频开发之基础篇 使用 SurfaceView绘制一张图片

    Android 音视频开发 上一篇文章:使用 imageview绘制一张图片 任务一 SurfaceView绘制一张图片 文章目录 Android 音视频开发 前言 一.surfaceview是什么? ...

  4. [Python MoviePy 音视频开发零基础到实战] 一、用6条代码为你的视频裁剪以及添加水印

    一.MoviePy 安装及配置 在 Python 有一个音视频开发模块 MoviePy,MoviePy 依赖于 FFmepg,使用 MoviePy 可以对音视频进行编辑:例如视频合成.视频处理.视频特 ...

  5. Android音视频开发:MediaRecorder录制音频

    Android 多媒体框架针对音频录制提供了两种方法:MediaRecorder和AudioRecord. 区别 MediaRecorder:录制的音频文件是经过压缩后的,需要设置编码器,并且录制的音 ...

  6. Android 音视频开发之基础篇 使用 imageview绘制一张图片

    Android 音视频开发 任务一 ImageView 绘制图片 文章目录 Android 音视频开发 任务一 ImageView 绘制图片 前言 一.配置activity_main.xml 二.添加 ...

  7. 音视频编解码基础知识(1)- 音视频编解码过程

    在学习音视频编解码知识时,首先要对整个过程有一个直观的认识,对一些知识点也要有明确的认识. 知识点: 1. YUV/RGB/RAW,这是三种视频采集的数据格式 2. 视频编码格式:H.264(在MPE ...

  8. 音视频编解码基础知识笔记

    欢迎关注勤于奋.每天12点准时更新国外LEAD相关技术 我的理解,音视频是一种视频的播放格式,但是这种格式已经通过压缩,封装,最后给我们的就是市面上能够播放的格式,这样如果自己写播放器,就需要去解封装 ...

  9. 【音视频开发】为什么无损音频会有44.1Khz这样的奇葩采样率?

    文章目录 一. 问题:为什么无损音频会有44.1Khz这样的奇葩采样率? 二 .PCM流程 2.1 PCM流程 2.2 PCM量化方式 2.2 量化位数 2.3 比特率 三.答疑解惑 3.1 使用采样 ...

  10. Android开发面试简历(1),音视频开发需要哪些知识

    年龄:XX 学历:本科 工作经验:8年开发经验 居住地:XXXX 2.求职意向 求职意向:Android软件开发工程师 目前状态:离职 3.工作经验 2012/10– 2014/05 xx网络科技有限 ...

最新文章

  1. awk的求和计算使用;awk多个分隔符如何使用?
  2. java hibernate sql,Java Hibernate中使用SQL 而不使用HQL
  3. Spring学习笔记—最小化Spring XML配置
  4. 使用Redis让单号从001递增
  5. 【MyBatis笔记】13-一对多左连接查询分步查询(查询所有客户及客户对应的订单)
  6. 参考平面及其高度_国家标准照度参考表
  7. python re模块详解_re模块详解
  8. 计算机科学与技术保研好不好,2021年北京邮电大学计算机科学与技术专业保研成功上岸经验指导...
  9. 使用Hbase Shell和Java API分别进行Hbase的增删改查操作
  10. html中图片集合,HTML标签大集合
  11. java爬虫爬取豆瓣电影_小爬虫之爬取豆瓣电影排行榜
  12. 读论文:Fine-grained Image Classification via Combining Vision and Language
  13. 服务器2016安装系统教材,Windows Server 2016 正式版安装教程
  14. 最长公共子序列问题-----题目
  15. hibernate - mappedby的理解
  16. MySQL 查看每个 IP 的连接数
  17. MySQL备份恢复练习
  18. 树莓派显示到笔记本屏幕上
  19. SCTF2018 Writeup
  20. adrv9025 serdes jesd 调试资料 整理

热门文章

  1. 并发编程与源码解析 (三)
  2. Java字符缓冲区BufferedWriter和BufferedReader详解
  3. jvm与jit编译器的区别_了解jvm和jit编译器的第1部分
  4. 彻底解决:Word中定义的标题编号重启后变成竖线或黑块!?
  5. 算法分析c语言大整数乘法,C语言中超大整数乘法运算
  6. 无线通用型Wi-Fi模组,热像仪技术应用,ESP32芯片模组方案
  7. 天马资产 | 金融数据分析师招聘(社招+实习)
  8. coredns etcd
  9. ***大数据项目会议记录
  10. 学习英语01——听力——剑雅12 T5S2