音视频App基本原理

音视频基本原理流程图如下,虽然音频和视频每一块环节上的处理方法上完全不同,但基本的流程一致:

1.采集

音视频需要经过摄像头、麦克风上等硬件设备上通过其上的传感器采集传输转化,最终成为计算机数字信号的过程。其中双人视频和群视频中的播片,采集播放都是由ffmpeg插件完成。

2.前处理

采集完的音视频数据需要经过一些处理得到更好的效果,音频的前处理包括增益控制(AGC) 、噪声抑制(ANS)、回声抵消(AEC)、静音检测(VAD)等,视频的前处理包括视频降噪、缩放 等。

3.编解码

一个信号或者一个数据流需要进行编解码操作,这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存储或者加密)或者提取得到一个编码流的操作。视频编解码器众多,例如vp8、vp9、MPEG、H264等;音频类编解码器可分两大类,语音类编解码器(SILK、Speex、iSAC等)和音频类编解码器(ECELT、AAC等)。

4.网络传输

在网络传输中,会针对不同的网络环境选取UDP或TCP传输,在即时音视频通话上一般优先采用UDP,因为其可自由度、延时都较好;除外还会针对传输过程中存在的损耗进行处理,包括控制包大小、FEC机制、丢包重传、Jitter控制、时延、乱序等等。

5.后处理

数据经过网络传输到接受方后经过解码进入后处理环节,该环节中,音频数据可能需要重采样或混音,而视频可能需要消除块效应、时域降频等等。

6.播放/渲染显示

在经过后处理后,数字信号转化为声音及画面的过程就是播放/渲染。Windows系统中常用的音频播放api有DirectSound、WaveOut、CoreAudio。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部