音视频与直播

走远了吗. 提交于 2020-02-09 00:04:18

音视频与直播

万人直播架构

直播产品种类

  1. 泛娱乐化直播
  2. 实时互动直播

泛娱乐化直播架构

实时互动直播架构

CDN网络

CDN网络为了解决用户访问网络资源慢而出现的。
为什么访问慢:

  1. 访问链路长,比如从中国北部到南部
  2. 人为因素,运营商切割,电信用电信,联通用联通

CDN构成

边缘节点:用户从边缘节点上获取数据,让用户访问链路变短
二级节点:主干网节点,主要用于缓存,减轻源站压力
源站:CP(内容供应方)将内容放到源站

CDN网络架构

搭建直播系统

常用工具

  1. ffmpeg
  2. webrtc
  3. ffplay:播放器
  4. flashplayer:播放rtmp

搭建流媒体服务

  1. 准备流媒体服务器
  2. 编译并安装 Nginx 服务
  3. 配置 RTMP 服务并启动 Nginx 服务

音频知识

声音三要素

  1. 音调:就是音频,男生 < 女生 < 儿童
  2. 音量:振动的幅度
  3. 音色:与材质有很大的关系,本质是谐波

音量与音调

音色(音品)

心里声学原理

人类听觉范围

音频压缩可以只留下可听声波数据

听觉/发生范围

人的正常说话,蝙蝠听不到。

音频量化与编码

音频量化过程

量化基本概念:
采样大小:一个采样用多少个bit存放,常用的是16bit
采样率:采样频率8k、16K、32K、44.1K、48K
声道数:单声道、双声道、多声道

码率计算

一个PCM音频流的码率:采样率 * 采样大小 * 声道数

例如:
采样率为44.1KHz,采样大小为16bit,双声道的 PCM 编码的WAV文件,
码率是:44.1K * 16 * 2 = 1411.2Kb/s

音频压缩

两种方法:

  1. 消除冗余数据(有损)
  2. 哈夫曼无损编码

音频冗余信息

压缩的主要方法是去除采集到的音频冗余信息,所谓冗余信息包括人耳听觉
范围外的音频信号,以及被掩蔽掉的音频信号

信号的掩蔽可以分为频域掩蔽时域掩蔽

频域掩蔽效应

时域掩蔽效应

音频编码过程

音频编解码器

常见的音频编解码器

  1. OPUS
  2. AAC
  3. Vorbis
  4. Speex:支持回音消除
  5. iLBC
  6. AMR
  7. G.711

RTMP不支持OPUS,但是支持AAC。
网上评测结果:OPUS > AAC > Vorbis

音频编码器性能对比

音频编码器选择

泛娱乐化直播选择AAC
实时互动直播选择OPUS
泛娱乐化和实时互动融合,则需要AAC和OPUS互转
实时互动和电话系统互联,则用到G.711、G.722

AAC(Advanced Audio Coding)

AAC的目的就是取代MP3格式。
MPEG-4标准出现后,AAC加入了SBR技术和PS技术

AAC优势

  1. 直播系统90%以上都使用AAC
  2. RTMP不支持OPUS,支持AAC
  3. AAC编解码质量非常高,可以做到音频高保真

AAC 规格

目前常用的规格有:AAC LC、AAC HE V1、AAC HE V2

  1. AAC LC(Low Complexity):低复杂度,码流128k
  2. AAC HE:AAC LC + SBR (Spectral Band Replication),码流64K
  3. AAC HE V2:AAC LC + SBR + PS(Parametric Stereo),码流32K

AAC格式

ADIF(Audio Data Interchange Format):这种格式只能从头开始解码,常用在磁盘文件中
ADTS(Audio Data Transport Stream):这种格式每一帧都有一个同步字(头),可以在音频流任何位置开始解码,它类似于数据流格式

AAC编码库

libfdk_AAC > ffmepg AAC > libfaac > libvo_aacenc

应该开始看 视频只是 https://www.imooc.com/video/16781

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!