1. 音视频客户端处理流程
音视频的基本处理流程如下:
音频采集:主要是麦克风🎤采集,或系统播放声音的采集,在各个平台上一般只需要调用系统的api既可以实现录制,如Android的audiorecord、mediaRecord,iOS端一般使用audioUnit底层api,
视频采集:一般是摄像头采集及桌面采集,同音频一样也是直接调用系统API,如Android的Camera1及 iOS的AVFondution框架下的AVCapture;
编码前处理:在多人场景下,音频需要处理回音,降噪及增益处理等来提升音频质量,视频可以添加美颜,帧降噪、提亮等处理;
编码:无论是音频还是视频数据,如果直接传输其数据量会非常大,因此都需要进行编码处理,音频一般是aac或opus,视频vp8、vp9、h264/265及AV1等;
传输:将编码的数据,经过网络发送出去,一般使用RTP/RTCP,rtmp等;
解码:收到网络的数据进行数据拼接等处理后,需要对应的解码后才能到下一步处理,
后处理:音频一般是需要尽心降噪,防止啸叫等;
音视频播放:将处理好的数据交给系统提供的API进行处理;