直播技术整理1.采集

Posted by boredream on February 16, 2017

采集: 主要分为音频采集和视频采集,视频一般和音频一起合成后作为带音视频一起推出去,或者只采集音频比如电台类场景

音频采集:

通过设备将环境中的模拟信号采集成PCM编码的原始数据 PCM 脉冲编码调制。是数字通信的编码方式之一。主要过程是将话音、图像等模拟信号每隔一定时间进行取样,使其离散化,同时将抽样值按分层单位四舍五入取整量化,同时将抽样值按一组二进制码来表示抽样脉冲的幅值。

再将这个采集到的数据压缩成MP3等音频格式 常见的音频压缩格式还有:MP3,AAC,OGG,WMA,Opus,FLAC,APE,m4a 和 AMR 等。

主要问题挑战:延时、卡顿、降噪、回声消除等

音频具体技术:

  • 采样率:模拟信号转为数字信号的时候,第一步就是每隔一段时间的抽样采集信息,越高质量越好但是数据了大,反之同理
  • 位宽:保存采样点信息的位数,也就是大小,越大则采样越精细,比如下图量化级就是3bit(2进制编码的位数)
  • 声道数:采集数据可以是多通道叠加的,播放时候输出到不同扬声器上,常用的就是单声道和双声道
  • 音频帧:视频一帧就是一张图,但是音频一般是一个波,所以“一帧”其实是一小段,一般长度约定俗成取2.5ms~60ms作为一帧 live1

图像采集

过程主要由摄像头等设备拍摄成 YUV 编码的原始数据,然后经过编码压缩成 H.264 等格式的数据分发出去。 常见的视频封装格式有:MP4、3GP、AVI、MKV、WMV、MPG、VOB、FLV、SWF、MOV、RMVB 和 WebM 等。

  • YUV,分为三个分量 “Y”表示明亮度(Luma),也就是灰度值; 而“U”和“V” 表示的则是色度(Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。

  • H.264是一种视频压缩编码标准,是MPEG4的升级版,可以理解为一种算法,将YUV这样的原始数据压缩成啥样的数字信息

  • MP4是封装格式,除了图像还包含了音频内容等

主要问题挑战:兼容处理、延时、卡顿、美颜、水印等

视频采集具体技术:

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

采集源

  • 摄像头:安卓iOS的前后摄像头
  • 屏幕录制:大部分用开源的桌面推流工具OBS
  • 视频文件:直接把本地的视频文件推上去