技术分享| anyRTC音视频混流技术解析

一,简介

在视频通讯场景中,比如会议、直播等经常能看到图像合成的场景。图像合成是在指定的一块画面区域,在这个区域内,按画面的位置(坐标)布局,将区域中的每个视频画面的像素混合计算成一个像素(RGB)。比如以下是anyRTC的H323合成画面:

二,图像合成

如图所示,一幅图像或画面是由很多图层叠加而成的,而图层通常分为背景层和叠加层,基于图层可以叠加成需要的画面布局。在计算机上一幅图像的显示大多数是以RGB的颜色标准,对于图像的合成本质上是在每个像素上进行RGB颜色值进行叠加。

背景图层就是通常意义上的画布,他限定了画面合成的范围区域,在背景图层分辨率范围之外的图像画面是不能被合成的,通常会使用纯色画布来充当背景图层,当然也可以使用图像作为背景填充。

叠加图层顾名思义就是在背景图层上进行画面叠加,每一个叠加图层都会根据设定的位置参数叠加到在背景图层之上一块对应区域。从原理上来说,叠加图层作单独来看,其也是由背景图层和叠加图层组合而成。混流区域内的RGB像素颜色值,是根据其位置上所有图层(包括背景图层和叠加图层)对应的颜色值,按规则计算出来。

在对图像进行合成之前,需要先将图层的布局合理安排,以免出现图层遮挡、位置偏移、超出背景范围、色值偏差等问题。

三,音频合成

音频合成又称混音,就是把多路音频源混合在一起,基本原理是将多个音频源的波形按一定的算法进行叠加计算,混合成一路音频波形。我们知道在计算机中所有的音频数据都是数字采样,但是音频叠加的算法是非线性的,不能简单地对波形数据的值进行加减。

通常在混音时,需要先对音频输入源统一采样率(SampleHz)、位宽(BytesPerSample)、声道(Channels)等参数,然后再对PCM波进行混合,混合的方式一般有以下几种:

现在随着AI技术的不断发展,使用AI来做音频合成的越来越多,使用AI来做音频合成的优点就是,AI会提取学习音频的数据特征,比如人声,AI可以将人的声音重要特征提取出来,在合成时可以保证不失真,并且摒除一些噪声,这样合成出来的声音保真度就非常好。

如下是常用的音频混音的流程图:

四,总结

音视频合成技术应用的场景非常多,实现的方案也非常多,比如常用的FFMpeg就对音视频合成支持的非常好,可以轻松使用一个FFMpeg命令行,就是实现2个甚至多个视频文件的合成工作。anyRTC使用的音视频合成技术是在通信过程中,所以对实时性要求比较高,anyRTC同时会根据业务场景以及用户的需求,选择不同的策略来实现不同场景下的音视频合成的需求。

相关推荐
REDcker3 天前
WebCodecs VideoDecoder 的 hardwareAcceleration 使用
前端·音视频·实时音视频·直播·webcodecs·videodecoder
gihigo19983 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
山河君3 天前
四麦克风声源定位实战:基于 GCC-PHAT + 最小二乘法实现 DOA
算法·音视频·语音识别·信号处理·最小二乘法·tdoa
音视频牛哥4 天前
Android平台RTMP/RTSP超低延迟直播播放器开发详解——基于SmartMediaKit深度实践
android·人工智能·计算机视觉·音视频·rtmp播放器·安卓rtmp播放器·rtmp直播播放器
qq_416276424 天前
通用音频表征的对比学习
学习·音视频
美狐美颜sdk4 天前
Android全局美颜sdk实现方案详解
人工智能·音视频·美颜sdk·视频美颜sdk·美狐美颜sdk
EasyDSS4 天前
私有化部署EasyDSS视频点播能力:全链路视频技术赋能,打造企业级视听新体验
音视频·hls·m3u8·点播技术·智能转码
qq_416276424 天前
DeLoRes——一种通用的音频表征学习新方法(DeLoRes(基于 Barlow Twins 的冗余最小化方法)
学习·音视频
Q_4582838684 天前
从定位到视频:808 + 1078 在各行业的落地实践
音视频
山顶望月川4 天前
实测MiniMax-Hailuo-02:当“开工大吉“变成“无字天书“,国产AI视频模型的能与之不能
人工智能·音视频