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

一,简介

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

二,图像合成

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

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

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

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

三,音频合成

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

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

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

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

四,总结

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

相关推荐
月月玩代码9 小时前
抖音视频无水印下载工具,电脑端工具,下载非常方便,使用方法简单,一看就会!
音视频·视频下载·抖音无水印视频下载工具·视频手动下载·视频1080p下载
行业探路者13 小时前
健康宣教二维码是什么?主要有哪些创新优势?
人工智能·学习·音视频·二维码·产品介绍
锦瑟弦音14 小时前
esp32实现在线音频播放
音视频
Android系统攻城狮19 小时前
Android16音频之开始录制AudioRecord.startRecording:用法实例(一百八十八)
音视频·android16·音频进阶
blackorbird19 小时前
Android Pixel 9 的零点击漏洞利用链全解析:从发送杜比音频解码到内核提权
android·音视频
Aaron_94519 小时前
VideoRAG:革新视频理解的检索增强生成技术深度解析
人工智能·音视频
Android系统攻城狮19 小时前
Android16音频之设置Privacy信息AudioRecord.Builder.setPrivacySensitive:用法实例(一百九十七)
音视频·android16·音频进阶
byte轻骑兵20 小时前
【LE Audio】BAP协议精讲[1]: 开启低功耗音频新纪元
人工智能·音视频·蓝牙·le audio·bap
小咖自动剪辑20 小时前
视频去水印与去字幕教程:免费去水印软件与去字幕工具推荐
人工智能·音视频·实时音视频·视频编解码
冷冷的菜哥20 小时前
springboot调用ffmpeg实现对视频的截图,截取与水印
java·spring boot·ffmpeg·音视频·水印·截图·截取