Skip to content

Commit 61993db

Browse files
committed
update Audio Encode
1 parent dbc9126 commit 61993db

5 files changed

Lines changed: 68 additions & 1 deletion

File tree

-48 KB
Binary file not shown.

README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,15 @@ Android学习笔记
8080
- [视频封装格式][256]
8181
- [M3U8][321]
8282
- [视频编码][257]
83+
- [视频编码原理][331]
8384
- [AV1][258]
8485
- [H264][259]
8586
- [H265][260]
87+
- [音频编码][335]
88+
- [音频编码格式][336]
89+
- [AAC][337]
90+
- [PCM][338]
91+
- [WAV][339]
8692
- [关键帧][227]
8793
- [CDN及PCDN][228]
8894
- [P2P技术][229]
@@ -100,12 +106,15 @@ Android学习笔记
100106
- [9.OpenGL ES纹理][240]
101107
- [10.GLSurfaceView+MediaPlayer播放视频][241]
102108
- [11.OpenGL ES滤镜][242]
109+
- [12.FBO][332]
103110
- [弹幕][243]
104111
- [Android弹幕实现][244]
105112
- [FFmpeg][322]
106113
- [1.FFmpeg简介][323]
107114
- [2.FFmpeg常用命令行][324]
108-
- [1.FFmpeg切片][325]
115+
- [3.FFmpeg切片][325]
116+
- [4.开发环境配置][333]
117+
- [5. FFmpeg核心功能][334]
109118
- [操作系统][263]
110119
- [1.操作系统简介][264]
111120
- [2.进程与线程][265]
@@ -694,6 +703,15 @@ Android学习笔记
694703
[328]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/1.%E9%9F%B3%E8%A7%86%E9%A2%91%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86.md "1.音视频基础知识"
695704
[329]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/2.%E7%B3%BB%E7%BB%9F%E6%92%AD%E6%94%BE%E5%99%A8MediaPlayer.md "2.系统播放器MediaPlayer"
696705
[330]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/Android%E9%9F%B3%E8%A7%86%E9%A2%91%E5%BC%80%E5%8F%91/11.%E6%92%AD%E6%94%BE%E7%BB%84%E4%BB%B6%E5%B0%81%E8%A3%85.md "11.播放器组件封装"
706+
[331]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81/%E8%A7%86%E9%A2%91%E7%BC%96%E7%A0%81%E5%8E%9F%E7%90%86.md "视频编码原理"
707+
[332]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/12.FBO.md "12.FBO"
708+
[333]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/4.%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE.md "4.开发环境配置"
709+
[334]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/FFmpeg/5.%20FFmpeg%E6%A0%B8%E5%BF%83%E5%8A%9F%E8%83%BD.md "5. FFmpeg核心功能"
710+
[335]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81 "音频编码"
711+
[336]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81%E6%A0%BC%E5%BC%8F.md "音频编码格式"
712+
[337]: https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81/AAC.md "AAC"
713+
[338]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81 "PCM"
714+
[339]: https://github.com/CharonChui/AndroidNote/tree/master/VideoDevelopment/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81 "WAV"
697715
698716

699717

VideoDevelopment/OpenGL/9.OpenGL ES纹理.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,11 @@ void main() {
507507
}
508508
}
509509
```
510+
相关功能介绍:
511+
- 窗口,Window:主窗口,用于界面显示
512+
- 渲染,RenderGPU,硬件加速
513+
- 纹理,texture:存储描述信息
514+
- 画布,surface:内存中的一块地址,存储像素数据
510515

511516
[上一篇: 8.GLES类及Matrix类](https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/8.GLES%E7%B1%BB%E5%8F%8AMatrix%E7%B1%BB.md)
512517
[下一篇: 10.GLSurfaceView+MediaPlayer播放视频](https://github.com/CharonChui/AndroidNote/blob/master/VideoDevelopment/OpenGL/10.GLSurfaceView%2BMediaPlayer%E6%92%AD%E6%94%BE%E8%A7%86%E9%A2%91.md)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
## PCM
2+
3+
PCM(Pulse Code Modulation),脉冲编码调制。人耳听到的是模拟信号,PCM是把声音从模拟信号转化为数字信号的技术。
4+
5+
原理是用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲(脉搏似的短暂起伏的电冲击),把这些脉冲的幅值按一定精度进行量化,这些量化后的数值被连续的输出、传输、处理或记录到存储介质中,所有这些组成了数字音频的产生过程(抽样、量化、编码三个过程)。
6+
7+
### 声音的三要素
8+
9+
- 音调:音频的快慢
10+
- 音量:震动的幅度
11+
- 音色:谐波
12+
13+
### 量化
14+
- 采样大小(采样位数):一个采样数据用多少bit存放,8bit、16bit
15+
- 采样率:采样的频率8k、16k、32k、44.1k、48k
16+
- 声道数:单声道、双声道、多声道
17+
18+
19+
### 大小计算
20+
一秒数据大小(码率) = 采样大小 * 采样率 * 声道数 (Kb/s)。
21+
假设采样率为8kHz、声道数、采样为16bit,时长为1s,则音频数据的大小为:
22+
1 * 8000 * 2 * 16 = 256000 bit / 8 = 32000 byte / 1024 = 31.25KB
23+
24+
### 数据排列方式
25+
26+
27+
28+
左右声道每个样本点数据交错排列
29+
存储格式1: 交错、打包、packed
30+
31+
<img src="https://raw.githubusercontent.com/CharonChui/Pictures/master/pcm_data_style.jpg?raw=true" width="100%" height="100%">
32+
存储格式2: 平面、平行、planar
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
## WAV
2+
3+
WAVE文件格式是微软FIFF(Resource Interchange FileFormat)资源交换文件标准的一种,是针对于多媒体文件存储的一种文件格式和标准。
4+
5+
一般而言,RIFF文件由文件头和数据两部分组成,一个WAVE文件由一个“WAVE"数据块组成,这个“WAVE”块又由一个fmt子数据块和一个data子数据块组成,也称这种格式为Canonical form(权威/牧师格式),如下图所示:
6+
7+
<img src="https://raw.githubusercontent.com/CharonChui/Pictures/master/wave_file_format.png?raw=true" width="100%" height="100%">
8+
9+
10+
11+
12+
- [WAV格式](https://docs.fileformat.com/audio/wav/)

0 commit comments

Comments
 (0)