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

一,简介

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

二,图像合成

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

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

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

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

三,音频合成

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

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

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

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

四,总结

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

相关推荐
Szime16 分钟前
深智微科技本周客户常询型号榜:华润微音频功放、存储器件、BMS与车规接口方向
科技·音视频
FFZero129 分钟前
[mpv脚本系统] (四) 脚本加载与事件循环系统
c语言·音视频·lua·多媒体
SPC的存折32 分钟前
MySQL完整学习手册(视频精华版)
学习·mysql·音视频
ACP广源盛139246256731 小时前
GSV2231 三屏显示扩展芯片@ACP#RTX Spark AI 终端多屏协作专属解决方案
大数据·人工智能·分布式·信息可视化·spark·电脑·音视频
zhangfeng11331 小时前
想做自媒体数字人访谈视频,在百度 AI Studio 上安装 OpenAvatarChat,显存要求
人工智能·音视频·transformer·自媒体
开开心心就好2 小时前
新手友好的音视频格式转换工具
linux·服务器·网络·智能手机·pdf·beautifulsoup·音视频
huangdong_2 小时前
京东整店商品图片视频批量下载技术:从商品列表到自动分类
开发语言·python·音视频
Curvatureflight2 小时前
浏览器音频采集实践:麦克风权限、降噪、回声消除与 PCM 转换
前端·javascript·音视频·信息与通信·web·pcm
SPC的存折2 小时前
Redis完整学习手册(赵老师视频精华版)
redis·学习·音视频
2501_9422792516 小时前
音频转文本新方案让识别更准、整理更省事
音视频