【音视频第6天】基础知识-移动端实时音视频直播技术详解和开源工程WebRTC的技术原理和使用浅析

在这里插入图片描述
本文是系列文章中的第1篇,本系列文章的大纲如下:

《移动端实时音视频直播技术详解(一):开篇》
《移动端实时音视频直播技术详解(二):采集》

《移动端实时音视频直播技术详解(三):处理》
《移动端实时音视频直播技术详解(四):编码和封装》
《移动端实时音视频直播技术详解(五):推流和传输》
《移动端实时音视频直播技术详解(六):延迟优化》

直播技术

采集

音频采集

音频的采集过程主要通过设备将环境中的模拟信号采集成 PCM 编码的原始数据,然后编码压缩成 MP3 等格式的数据分发出去。常见的音频压缩格式有:MP3,AAC,OGG,WMA,Opus,FLAC,APE,m4a 和 AMR 等
音频采集和编码主要面临的挑战在于:延时敏感;卡顿敏感;噪声消除(Denoise);回声消除(AEC);静音检测(VAD);各种混音算法等。
在音频采集阶段,参考的主要技术参数有 :
采样率(samplerate):采样就是把模拟信号数字化的过程,采样频率越高,记录这一段音频信号所用的数据量就越大,同时音频质量也就越高;
位宽:每一个采样点都需要用一个数值来表示大小,这个数值的数据类型大小可以是:4bit、8bit、16bit、32bit 等等,位数越多,表示得就越精细,声音质量自然就越好,而数据量也会成倍增大。我们在音频采样过程中常用的位宽是 8bit 或者 16bit;
声道数(channels):
由于音频的采集和播放是可以叠加的,因此,可以同时从多个音频源采集声音,并分别输出到不同的扬声器,故声道数一般表示声音录制时的音源数量或回放时相应的扬声器数量。声道数为 1 和 2 分别称为单声道和双声道,是比较常见的声道参数;
音频帧(frame):
音频跟视频很不一样,视频每一帧就是一张图像,而从上面的正玄波可以看出,音频数据是流式的,本身没有明确的一帧帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取 2.5ms~60ms 为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的;

根据以上定义,我们可以计算一下一帧音频帧的大小。
假设某音频信号是采样率为 8kHz、双通道、位宽为 16bit,20ms 一帧,则一帧音频数据的大小为:
size = 8000 x 2 x 16bit x 0.02s = 5120 bit = 640 byte

图像采集

图像的采集过程主要由摄像头等设备拍摄成 YUV 编码的原始数据,然后经过编码压缩成 H.264 等格式的数据分发出去。常见的视频封装格式有:MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等
图像由于其直观感受最强并且体积也比较大,构成了一个视频内容的主要部分。图像采集和编码面临的主要挑战在于:设备兼容性差、延时敏感、卡顿敏感以及各种对图像的处理操作如美颜和水印等。

在图像采集阶段,参考的主要技术参数有:

图像传输格式:通用影像传输格式(Common Intermediate Format)是视讯会议(video conference)中常使用的影像传输格式;
图像格式:通常采用 YUV 格式存储原始数据信息,其中包含用 8 位表示的黑白图像灰度值,以及可由 RGB 三种色彩组合成的彩色图像;
传输通道:正常情况下视频的拍摄只需 1 路通道,随着 VR 和 AR 技术的日渐成熟,为了拍摄一个完整的 360° 视频,可能需要通过不同角度拍摄,然后经过多通道传输后合成;
分辨率:随着设备屏幕尺寸的日益增多,视频采集过程中原始视频分辨率起着越来越重要的作用,后续处理环节中使用的所有视频分辨率的定义都以原始视频分辨率为基础。视频采集卡能支持的最大点阵反映了其分辨率的性能;
采样频率:采样频率反映了采集卡处理图像的速度和能力。在进行高度图像采集时,需要注意采集卡的采样频率是否满足要求。采样率越高,图像质量越高,同时保存这些图像信息的数据量也越大。

处理

在这里插入图片描述
在这里插入图片描述

编码和封装

在这里插入图片描述
在这里插入图片描述
OpenH264 是思科实现的开源 H.264 编码。H.264编码、OpenH264、x264、HEVC/H.265 、libde265、x265、VP8、VP9、libvpx
封装:媒体的容器。封装可以理解为采用哪种货车去运输,也就是媒体的容器。

所谓容器,就是把编码器生成的多媒体内容(视频,音频,字幕,章节信息等)混合封装在一起的标准。容器使得不同多媒体内容同步播放变得很简单,而容器的另一个作用就是为多媒体内容提供索引,也就是说如果没有容器存在的话一部影片你只能从一开始看到最后,不能拖动进度条(当然这种情况下有的播放器会话比较长的时间临时创建索引),而且如果你不自己去手动另外载入音频就没有声音。
1)AVI 格式(后缀为 .avi):
2)DV-AVI 格式(后缀为 .avi):
3)QuickTime File Format 格式(后缀为 .mov):
4)MPEG 格式(文件后缀可以是 .mpg .mpeg .mpe .dat .vob .asf .3gp .mp4等) :
5)WMV 格式(后缀为.wmv .asf):
6)Real Video 格式(后缀为 .rm .rmvb):
7)Flash Video 格式(后缀为 .flv):
8)Matroska 格式(后缀为 .mkv):
9)MPEG2-TS 格式 (后缀为 .ts)(Transport Stream「传输流」,又称 MTS、TS):

目前,我们在流媒体传输,尤其是直播中主要采用的就是 FLV 和 MPEG2-TS 格式,分别用于 RTMP/HTTP-FLV 和 HLS 协议。

推流和传输

推流

在这里插入图片描述

在这里插入图片描述

传输网络

传统的内容分发网络

在这里插入图片描述
上图是一个典型的 CDN 系统的三级部署示意图,节点是 CDN 系统中的最基本部署单元,分为三级部署,中心节点、区域节点和边缘节点,最上面一级是中心节点,中间一级是区域节点,边缘节点地理位置分散,为用户提供就近的内容访问服务。

下面介绍一下 CDN 节点的分类,主要分成两大类,骨干节点和 POP 节点,骨干节点又分为中心节点和区域节点。

逻辑上来讲,骨干节点主要负责内容分发和边缘节点未命中时进行回源,POP 节点主要负责提供给用户就近的内容访问服务。但如果 CDN 网络规模较大,边缘节点直接向中心节点回源会给中间层的核心设备造成的压力过大,在物理上引入区域节点,负责一个地理区域的管理,保存部分热点数据。
http://www.52im.net/thread-967-1-1.html(很难需要再看)

延迟优化

编码优化、传输协议优化、传输网络优化、推流、播放优化

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
非常感谢你对我的提问。针对你的问题,我可以给你提供以下一些内容: 一、WebRTC 的概述及基本原理 WebRTC 是一种开放源代码的实时通信技术,可以实现直播音视频会话等实时互动应用。它可以在支持 WebRTC 的浏览器之间直接建立点对点连接,开发者可以使用 JavaScript API 快速搭建 WebRTC 应用。 二、WebRTC 的组成部分 WebRTC 组成部分包括:MediaStream、RTCPeerConnection 和 RTCDataChannel。 MediaStream 用于处理音视频流,可以捕获音频、视频和屏幕共享等内容;RTCPeerConnection 用于建立点对点连接,并可对流进行解码、编码、传输等处理;RTCDataChannel 可以用于传输任意数据,比如聊消息、文件等。 三、WebRTC 开发入门 WebRTC 开发需要一定的前端或后端编程知识,开发者需要掌握基本的 HTML、CSS、JavaScript、Node.js 等技术。首先需要创建一个本地 WebRTC 对象,然后配置 MediaStream、RTCPeerConnection 和 RTCDataChannel。接着,可以使用 JavaScript 代码和相应的 API 来实现音视频处理和信令传输等功能。 四、实战案例 WebRTC 技术得到了广泛应用,比如视频会议、在线教育、远程医疗等多个领域。比较经典的 WebRTC 应用有: 1. 拍摄照片、录制视频实时直播的应用,如 Instagram、Periscope 等。 2. 视频会议、远程协作的应用,如 Zoom、Microsoft Teams 等。 3. 基于 WebRTC 技术的医疗与远程会诊应用,如 Teladoc、Doctor On Demand 等。 4. 网络教育的应用,如 Coursera、Udacity 等。 以上是我对你的问题的简要回答,希望能以一定的帮助!如果你有什么更详细、更具体的问题,可以直接和我进行交流!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值