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

一,简介

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

二,图像合成

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

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

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

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

三,音频合成

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

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

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

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

四,总结

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

相关推荐
TechVoyager_824611 小时前
多形态输入与12 通道音频:IT6615 这颗 HDMI 发射器的接口宽度
音视频·音频芯片·芯片选型·视频发射
Raymond168811 小时前
AI配音工具长文本合成架构技术解析:全局音色锚定与声学状态跟踪
人工智能·架构·实时互动·视觉检测·音视频·语音识别
hflmwl817 小时前
Wise Data Recovery找回误删的文档照片音乐和视频
音视频·datarecovery·找回误删的文档照片音乐和视频·找回误删的文档照片音乐视频
技灵AI18 小时前
AI 视频转场提示词怎么写?让前后画面衔接更自然
人工智能·prompt·aigc·音视频
youandyouyou20 小时前
跨区培训的屏幕共享怎么做才稳?同屏同步与弱网优化实践
音视频·网络通信
开开心心就好20 小时前
课堂随机点名工具,绿色版免安装双击即用
java·服务器·前端·ffmpeg·音视频·perl·symfony
美狐美颜SDK开放平台20 小时前
直播APP集成美颜SDK,如何梳理第三方组件的数据权限?
开发语言·人工智能·深度学习·音视频·第三方美颜sdk
l14372332671 天前
批量视频硬字幕擦除多少钱?影响报价的关键因素全解析
音视频
重生六道1 天前
B站视频时长统计:一段JS脚本搞定分P/合集总时长(附倍速计算)
开发语言·javascript·音视频
音视频牛哥1 天前
不换摄像机,也能接入 WebRTC?SmartMediaKit RTSP/RTMP 转 WHIP 技术实践
音视频·webrtc·smartmediakit·rtsp转whip·rtmp转whip·whip推流·rtsp转webrtc播放