一、音频:

● 音频开发的主要应用
 ● 音频开发基础概念
 ● 音频开发的具体内容
 ● 常见的音频编码(压缩)方式
 ● 音频算法处理的开源库
 ● Android提供了哪些音频开发相关的API

1.音频开发的主要应用:

 ● 音频播放器                                            (酷狗音乐)
 ● 录音机                                                   (酷狗ktv、全民K歌)
 ● 语音电话                                               (微信电话)
 ● 音视频监控应用                                     (摄像头,海康威视监控)
 ● 音视频直播应用                                     (繁星直播)
 ● 音频编辑/处理软件                                (ktv音效、变声, 酷狗铃声转换)
 ● 蓝牙耳机/音箱                                       (酷狗耳机、K6)  等等。

2.音频开发基础概念:

(1)采样率(samplerate)

是指录音设备在一秒钟内对声音信号的采样次数。
采样频率越高声音的还原就越真实越自然。单位用赫兹(Hz)

采样定理: (奈奎斯特定理)
在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max>2fmax),采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的2.56~4倍;

人耳能听到的声波的频率范围通常?    20~20000Hz
为了保证声音不失真,采样频率应在40kHz以上.
但是,常用的音频采样频率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz等。

例如:电话是标准的8khz采样率!
话音信号频率在0.3~3.4kHz范围内,用8kHz的抽样频率,就可获得能取代原来连续话音信号的抽样信号。
而一般CD采集采样频率为44.1kHz。
目前,一般情况下的录音都是采用44100Hz的。

(2)量化精度(位宽)

就是把采样得到的声音信号幅度转换成数字值,
用于表示信号强度。

量化精度:用多少个二进位来表示每一个采样值,也称为量化位数。
声音信号的量化位数一般是 4,6,8,12或16 bits 。

这个数值的数据类型大小可以是:4bit、8bit、16bit、32bit等等,位数越多,表示得就越精细,声音质量自然就越好。
当然,数据量也会成倍增大。
 一般采用的是16bit。

(3)声道数(channels)

由于音频的采集和播放是可以叠加的.
因此,可以同时从多个音频源采集声音,并分别输出到不同的扬声器,故声道数一般表示声音录制时的音源数量或回放时相应的扬声器数量。

单声道(Mono)和双声道(Stereo)比较常见,顾名思义,前者的声道数为1,后者为2。

(4)音频帧(frame)

音频跟视频很不一样,视频每一帧就是一张图像,而从上面的正弦波可以看出,音频数据是流式的,本身没有明确的一帧帧的概念。
在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。

这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的,我们可以计算一下一帧音频帧的大小:

AAC: 一个AAC帧对应的采样点个数1024, 采样率(samplerate)为 44100Hz
当前一帧的播放时间 = 1024 * 1000000/44100= 22.32ms(单位为ms)
mp3: 每帧均为1152个字节
当前一帧的播放时间 = 1152* 1000000/44100= 26.122ms(单位为ms)

3.音频开发的具体内容:

 ● 音频采集/播放
 ● 音频算法处理(去噪、静音检测、回声消除、音效处理、功放/增强、混音/分离,等等)
 ● 音频的编解码和格式转换
 ● 音频传输协议的开发(SIP,A2DP、AVRCP,等等)
SIP:会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始、管理和终止网络中的语音和视频会话
     A2DP全名是Advanced Audio Distribution Profile 蓝牙音频传输模型协定! A2DP是能够采用耳机内的芯片来堆栈数据,达到声音的高清晰度。
     AVRCP(Audio/Video Remote Control Profile),即音频/视频远程控制规范。

4.常见的音频编码(压缩)方式:

什么是音频编码?

是将音频采样数据(PCM等)压缩成为音频码流,从而降低音频的数据量。

为什么要音频编码?

存储一秒钟采样率为44.1KHz,位深为16bit,双声道的PCM编码的音频信号,需要
44100*16bit*2 / 8/1024 = 172.2KB的空间,那么1分钟则约为10.09M。
这对大部分用户是不可接受的。
只有2种方法,降低采样指标或者压缩。
降低采样是不可取的,因此就有了各种各样的压缩方式。

有两类主要的音频文件格式:

有损和无损。

有损文件格式: 是基于声学心理学的模型,除去人类很难或根本听不到的声音。
无损格式,例如PCM,WAV,ALS,ALAC,TAK,FLAC,APE,WavPack(WV)
有损格式,例如MP3,AAC,WMA,Ogg

根据采样率和采样大小可以得知,相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,相对自然界的信号,任何数字音频编码方案都是有损的,因为无法完全还原。在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。因此,PCM约定俗成了无损编码,因为PCM代表了数字音频中最佳的保真水准,并不意味着PCM就能够确保信号绝对保真,PCM也只能做到最大程度的无限接近。
我们而习惯性的把MP3列入有损音频编码范畴,是相对PCM编码的。
就像用数字去表达圆周率,不管精度多高,也只是无限接近,而不是真正等于圆周率的值。

5.音频算法处理的开源库:


FFmpeg: Fast Forward  MPEG
Moving Picture Experts Group 先进视频编码标准

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
采用LGPL或GPL许可证。
它提供了录制、转换以及流化音视频的完整解决方案。
它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量。

不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。

FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。

FFmpeg组成组件

6.Android提供了哪些音频开发相关的API:

 ● 音频采集:  MediaRecoder,AudioRecord
 ● 音频播放:  SoundPool,MediaPlayer,AudioTrack 
 ● 音频编解码: MediaCodec
 ● NDK API:     OpenSL ES

二、视频:

 ● 视频开发的主要应用
 ● 视频开发基础概念
 ● 视频开发的具体内容
 ● 常见的视频编码(压缩)方式
 ● 视频算法处理的开源库
 ● Android提供了哪些视频开发相关的API

1.视频开发的主要应用:

 ● 视频播放器                                            (快播、迅雷、酷狗音乐)
 ● 格式转换器                                            (格式工厂)
 ● 视频会议                                               (PoloMeeting视频会议)
 ● 视频监控                                               (摄像头,海康威视监控)
 ● 视频直播                                               (繁星直播、各种直播) 等等。

2.视频开发基础概念:

(1)帧率

每秒钟图像刷新的数量。1秒钟时间里传输的图片的帧数
单位: fps (Frames Per Second)
帧率越高,画面越流畅。

(2)码率(比特率)

是指每秒传送的比特(bit)数。
单位为 bps(Bit Per Second),比特率越高,传送数据速度越快。
视频中的码率原理与声音中的相同,都是指由模拟信号转换为数字信
号后,单位时间内的二进制数据量。

(3)分辨率

视频分辨率是指视频成像产品所成图像的大小或尺寸。
常见的视像分辨率有352×288,176×144,640×480,1024×768。

码率=采样率 x 位深度 x 声道

文件大小 = 码率 x 时长 
= 1411.2 Kbps x (3 x 60 + 47 )s = 1411.2Kbps x 227s = 37.2M
实际文件中增加一些信息,采样率等参数,文件会大一点点。

3.视频开发的具体内容:

 ● 视频采集/播放
 ● 封装技术
 ● 视频的编解码和格式转换
 ● 视频压缩协议 (H.261、H.263、H.264和mpeg-1、mpeg-2和mpeg-4)
 ● 直播流传输协议进行视频直播(见下页)
H.264:经常作为当前最为先进的压缩标准出现;
H.264的压缩比率是MPEG2的2倍以上,而对于MPEG4的压缩效果,
也达到了1.5倍-2倍的范围;
迅雷已经使用H265了,H.265更快、更强。

直播流传输协议

 ● RTSP  -- Real Time Streaming Protocol 实时流传输协议
 ● RTP    -- Real-time Transport Protocol 实时传输协议
 ● RTMP -- Real-time Messaging Protocol 实时消息传输协议
 ● RTMFP -- Real Time Media Flow Protocol 可以让使用Adobe Flash Player的终端用户之间进行直接通信
 ● MMS  -- Microsoft Media Serverprotocol 是一种串流媒体传送协议
 ● VLC -- VLC media player VLC 是一款自由、开源的跨平台多媒体播放器及框架
 ● WMP -- Windows Media Player

4.常见的视频编码(压缩)方式:

 ● H.261、H.263、H.264
 ● mpeg-1、mpeg-2和mpeg-4

● 当前使用最多的视频编码方案就是H.264;
 ● 直播服务普遍采用了RTMP作为流媒体协议;
 ● FLV是RTMP使用的封装格式;
 ● AAC作为音频编码格式。

5.视频算法处理的开源库:

 ● FFMPEG 等等。

6.Android提供了哪些视频开发相关的API:

 ● 后续更新。

音视频基础概念与流程相关推荐

  1. 《音视频开发进阶指南》读书笔记(一) —— 音视频基础概念

    前言 最近要学音视频,在图书馆借到这本<音视频开发进阶指南>,读了一段时间觉得挺好就在某宝买了. 以后一段时间应该都会沉浸在研究音视频中,开个专题记录哈每一章的读书笔记吧(以iOS开发的角 ...

  2. 音视频基础概念(6)——视频基础

    网上冲浪时,我们会接触到网络流媒体和本地视频文件.常见的视频文件格式有MP4.MKV.AVI等.在流媒体网站上看见视频常用的协议有HTTP.RTSP.RTMP.HLS等.视频技术较为复杂,包括视频封装 ...

  3. 音视频基础概念(2)——音频

    目录 1. 基本知识 2.采样率和采样位数 3.音频编码 4. 声道数 5. 码率 6. 音频格式 日常生活中,音视频随处可见,包括视频.音频.编解码.封装容器.音视频等概念. 1. 基本知识 音频数 ...

  4. 音视频基础概念(1)——视频

    目录 1.1 动画书 1.2 视频 1.3 视频帧 1.4 帧率 1.5 色彩空间 RGB与YUV YUV优势 RGB与YUV的换算 日常生活中,音视频随处可见,包括视频.音频.编解码.封装容器.音视 ...

  5. 音视频篇 - 音视频基础概念

    本文章是阅读<音视频开发进阶指南基于android与ios平台的实践>一书的学习笔记. 目录: 什么是声音 声波的三要素 数字音频 音频编码 图像的物理现象 YUV 视频编码 视频编码的相 ...

  6. 音视频基础概念(5)——音频基础说明

    现实生活中,音频(Audio)主要用在两大场景中,包括语音(Voice)和音乐(Music).语音主要用于沟通,如打电话等.目前由于语音识别技术的发展,人机语音交互也是语音的一个应用方向,很多大厂推出 ...

  7. 音视频开发一:音视频基础概念

    文章目录 基础概念 音频 声音介绍 种类 音质 声音存储的发展 采样频率 信号频率 声道 声道布局 音帧 帧时长 采样数 采样位数 存储空间 码流(比特率) 采样格式 音频编码(音频压缩) 音频解码 ...

  8. 音视频基础概念(3)——音视频编码与音视频容器

    这里的编码与第二章节音频中提到的"数字化编码"不是同一个概念,是特指压缩编码. 计算机中,所有数据都是由0和1组成的,音频和视频数据也不例外.由于音视频的数据量庞大,如果按照裸流数 ...

  9. 何为音视频流媒体,音视频基础概念(建议收藏)

    一.音频 1.采样率 是指在每个声道上的采样速率,而不是所有声道的采样速率 例如:16000Hz 表示1s中在连续信号中采集16000次,每一次叫做一个采样点 2.采样位宽(位数) 例如:16bit ...

  10. 【音频播放】自制音频播放器—音视频基础概念,未完待续。。。

    近期用Electron制作了一个简易版客户端,未完待补充,重点在播放,引用凯教,先说几点.(图片禁止搬运,不得允许不准转载) 研究音频的数字化技术之前,必须对声音和图像的的物理性质有基本的了解. 如下 ...

最新文章

  1. 最详细易懂的CRC-16校验原理(附源程序)
  2. 反转字符串中的元音字符_C程序消除字符串中的所有元音
  3. 《结对-贪吃蛇-设计文档》
  4. mysql query cache 关闭_为什么要关闭MySQL query cache-Fun言
  5. (二)深入了解超文本
  6. 【君义精讲】排序算法
  7. 草稿django添加自定义模板代码的用法
  8. MyEclipse SVN插件的安装
  9. 购物中心节假日如何统计客流量分析客流量数据?
  10. 数字信号处理(1)- 频谱分析
  11. 机器学习_高偏差(High bias)与高方差(High vars)
  12. quartz 表结构 oracle,Quartz所使用的表的说明
  13. flask中jinjia2模板引擎的使用详解3
  14. C++调用Matlab生成的DLL动态链接库进行混合编程(win10+VS2015+Matlab2016b)
  15. linux安装python教程视频_新手开发者的极简Linux上手Python视频教程
  16. 操作系统:文件共享的实现方法
  17. C语言获取SYSTEMTIME
  18. 计算机系统原理实验之BombLab二进制炸弹1、2关
  19. vue操作dom元素的三种方法介绍和分析
  20. 汉诺塔(河内塔)问题解析(函数递归经典问题)

热门文章

  1. 关于QT报C:\Program Files (x86)\sogoupinyin\Components\的错误
  2. 任务调度框架 Quartz 用法指南「超详细」
  3. PDI(KETTLE)学习笔记
  4. linux看网卡ip,linux查看ip地址、显示太网卡配置、网络设备
  5. 小程序毕设作品之微信酒店预订小程序毕业设计(6)开题答辩PPT
  6. 基于Java开发的Java毕业设计实战项目
  7. 管理win7开机启动项
  8. 王珊数据库系统概论第五版视频课程
  9. c#二次开发明华URF-R330读写器读写问题解决方案
  10. 已知弧长计算器_科学计算器,怎么用弧度计算弧长,请知道的举例说明,