音频基础知识(二)

最简易的音视频图解,包括一下几个部分:

于一个实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。每一个细分环节,还有更细分的技术模块。比如,前后处理环节有美颜、滤镜、回声消除AEC、噪声抑制NS、静音控制VAD、自动增益控制AGC等,采集有麦克风阵列等,编解码有VP8、VP9、H.264、H.265等。

典型的实时音视频应用数据流转过程如下:

下面这张图可能更具体一点:

整个图包含了音视频数据从打包、编解码、传输、推拉流、播放等整个过程,这里边包含了很多音视频基础知识,下边归纳整理一下。

音频相关:

CDN构成:

①边缘结点:用户会先从边缘结点获取服务;

②二级结点(主干结点):主要是用于缓存,减轻源站的压力。如果边缘结点没有服务,会先从主干结点上拉取缓存的数据到边缘结点,然后用户再从边缘结点获取数据;

③源站:(会有多个源节点)内容提供商会将内容放在源站上。如果边缘结点和主干结点都没有获取到服务,则会访问源站。

常用工具:

①ffmpeg

②ffplay:也是基于ffmpeg

③flashplayer
音频三要素:

①音调(音频)

②音量

③音色(根材质有关)
听觉范围:

①<20HZ,次声波

②20HZ~20KHZ,可以听见的

③>20KHZ,超声波

音频的量化与标准

①采样大小:也就是采样的纵坐标对应的值,表示一个采样用多少位存放。一般为16bit(2^16 = 65535),也可以是8位,但是8位对应的是256,比较小,一般采用16位。

②采样率:一般由8k,16k,32k,44.1k(AAC用这个),48k

可以把它理解为,要采集的总量,拿44.1k举例,比如说,现在要采集20HZ的,就要采集(44100/20=)2000次,而要采集20KHZ的,就要采集(44100/20000=)2次;

③声道:单声道、双声道、多声道(上下左右等都有一个喇叭)
码率:

采样率 x 采样大小 x 声道数

比如:

采样率为:44.1k

采用大小为:16bit

双声道的PCM编码的WAV文件,它的码率为:

44.1k x 16 x 2=1411.2kb/s--->除以8--->176.4kB/s

音频的压缩技术:

有损压缩(就是说还原回来的数据和原数据不一样):消除冗余的数据

人耳听不到的声音:<20HZ或 >20kHZ的

被遮蔽掉的声音(受频域和时域的影响)

无损压缩:哈夫曼无损编码

常见的音视频编解码器:

AAC(Advanced Audio Coding):

为什么这么重要?

①应用范围广,在泛娱乐化中大部分都是用的这个;

②协议的支持:在泛娱乐化中要用的是rtmp协议,而AAC支持这个协议

③它的高保真可以保证音频的质量

目的:取代MP3

原因:MP3的规范是MPEG-2,这个规范在音频方面的处理是有损压缩,也就是说还原回来的数据和原数据不能一模一样,对音质有损耗;而AAC的损耗更小,且压缩率更高,他是基于MPEG-4规范的;

三、视频:

1.几种帧:

I帧:又叫关键帧,也就是一组帧中的第一帧;

P帧:向前参考帧,也就是说,他只参考它的前一帧,存的是和前一帧不同的地方,属于帧间压缩;

B帧:双向参考帧,它会参考它的前一帧和它的后一帧,存的是前后帧都没有的,不适合实时互动场景

GOP:一组帧,在一组帧的前面会有SPS(Sequence Parameter Set,序列参数集)和PPS(Picture Parameter Set,图像参数集)

2.视频花屏和卡顿的原因

花屏主要是有帧的丢失:比如P帧或者是I帧丢失了;

卡顿主要是为因为为了解决避免花屏的情况,就把丢失的那一组帧全部扔掉,然后就会卡屏了;

3.编码器分类:

H264编码原理:

压缩技术:

帧内预测压缩,解决空域数据冗余问题,比如一张图片上人眼无法直接感官到的颜色值等;

帧间预测压缩,解决时域上数据冗余的问题,比如在录制视频的时候,会有很大帧的图像是一样的;

整数离散余弦变换(DCH),将空间上的相关性变成频域上的无关的数据然后进行量化;

CABAC:上下文适应的无损压缩

宏块划分

从上面的图中可以看出,整张图宏划分后就是这样的了;

  • 分层:

    • NAL层:网络抽象层

    一个帧的拆包和组包都是在这里完成的;(为什么要拆包和组包呢?因为网络的最大传输单元是1500字节,而每一帧大于1500字节,所以得拆包)

    • VCL层:视频编码层
  • 码流:

NAL单元

切片与宏的关系

H264码流分层

相关推荐
TechVoyager_82469 小时前
多形态输入与12 通道音频:IT6615 这颗 HDMI 发射器的接口宽度
音视频·音频芯片·芯片选型·视频发射
Raymond16889 小时前
AI配音工具长文本合成架构技术解析:全局音色锚定与声学状态跟踪
人工智能·架构·实时互动·视觉检测·音视频·语音识别
hflmwl815 小时前
Wise Data Recovery找回误删的文档照片音乐和视频
音视频·datarecovery·找回误删的文档照片音乐和视频·找回误删的文档照片音乐视频
技灵AI15 小时前
AI 视频转场提示词怎么写?让前后画面衔接更自然
人工智能·prompt·aigc·音视频
youandyouyou17 小时前
跨区培训的屏幕共享怎么做才稳?同屏同步与弱网优化实践
音视频·网络通信
开开心心就好17 小时前
课堂随机点名工具,绿色版免安装双击即用
java·服务器·前端·ffmpeg·音视频·perl·symfony
美狐美颜SDK开放平台18 小时前
直播APP集成美颜SDK,如何梳理第三方组件的数据权限?
开发语言·人工智能·深度学习·音视频·第三方美颜sdk
l143723326719 小时前
批量视频硬字幕擦除多少钱?影响报价的关键因素全解析
音视频
重生六道19 小时前
B站视频时长统计:一段JS脚本搞定分P/合集总时长(附倍速计算)
开发语言·javascript·音视频
音视频牛哥19 小时前
不换摄像机,也能接入 WebRTC?SmartMediaKit RTSP/RTMP 转 WHIP 技术实践
音视频·webrtc·smartmediakit·rtsp转whip·rtmp转whip·whip推流·rtsp转webrtc播放