首页 > 其他分享 >技术分享| anyRTC音视频混流技术解析

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

时间:2023-09-22 17:58:24浏览次数:47  
标签:anyRTC 叠加 混流 音频 音视频 图层 背景图 合成

一,简介

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

在这里插入图片描述

二,图像合成

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

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

叠加图层顾名思义就是在背景图层上进行画面叠加,每一个叠加图层都会根据设定的位置参数叠加到在背景图层之上一块对应区域。从原理上来说,叠加图层作单独来看,其也是由背景图层和叠加图层组合而成。混流区域内的RGB像素颜色值,是根据其位置上所有图层(包括背景图层和叠加图层)对应的颜色值,按规则计算出来。
在对图像进行合成之前,需要先将图层的布局合理安排,以免出现图层遮挡、位置偏移、超出背景范围、色值偏差等问题。

在这里插入图片描述

三,音频合成

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

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

在这里插入图片描述

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

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

在这里插入图片描述

四,总结

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

在这里插入图片描述

标签:anyRTC,叠加,混流,音频,音视频,图层,背景图,合成
From: https://www.cnblogs.com/anyrtc/p/17723030.html

相关文章

  • 安卓音视频入门难,分享一份杭州某大厂音视频内部文档
    前言最近在写作过程中,我注意到很多读者私下向我提问,他们对安卓音视频方面非常感兴趣,但苦于没有系统的学习方法。今天,我想和大家分享一些我在音视频开发方面的经验。首先,要学习音视频开发,你需要掌握一些基础知识点,这些知识点包括:FFmpeg:这是一款强大的音视频处理库,可以帮助你进行音视......
  • 音视频
    当谈到计算机音视频时,我们必须承认计算机在这个领域的重要性和贡献。音视频技术的快速发展不仅改变了我们对娱乐、沟通和学习方式的理解,而且在商业和科学领域也起着关键作用。计算机音视频技术不仅涉及音频和视频的记录、处理和传输,还涉及编解码、音频增强、图像识别等一系列复杂的......
  • Qt/C++音视频开发54-视频监控控件的极致设计
    一、前言跌跌撞撞摸爬滚打一步步迭代完善到今天,这个视频监控控件的设计,在现阶段水平上个人认为是做的最棒的(稍微自恋一下),理论上来说应该可以用5年不用推翻重写,推翻重写当然也是程序员爱干的事情,这个就要考验个人的功底,设计的好框架搭建的好,可以很多年不用变,只需要在现有框架小修......
  • 解决方案| anyRTC远程检修应用场景
    背景在这个科技飞速发展的时代,各行各业都要求高效运转。然而,当出现问题时,我们却常常因为无法及时解决而感到困扰,传统解决问题的方式是邀请技术人员现场解决问题,如果技术人员解决不了,还要邀请专家从其他城市到现场解决,这中间会流失很多时间,影响生产效率。现在,anyRTC推出一站式远程......
  • 解决方案| anyRTC远程检修应用场景
    背景在这个科技飞速发展的时代,各行各业都要求高效运转。然而,当出现问题时,我们却常常因为无法及时解决而感到困扰,传统解决问题的方式是邀请技术人员现场解决问题,如果技术人员解决不了,还要邀请专家从其他城市到现场解决,这中间会流失很多时间,影响生产效率。现在,anyRTC推出一站式远......
  • Qt/C++音视频开发53-本地摄像头推流/桌面推流/文件推流/监控推流等
    一、前言编写这个推流程序,最开始设计的时候是用视频文件推流,后面陆续增加了监控摄像头推流(其实就是rtsp视频流)、网络电台和视频推流(一般是rtmp或者http开头m3u8结尾的视频流)、本地摄像头推流(本地USB摄像头或者笔记本自带摄像头等)、桌面推流(将当前运行环境的系统桌面抓拍推流)。按......
  • 音视频
    音视频计算机是指通过计算机系统来处理、存储、传输和展示音频和视频数据的技术。这一技术在各个领域都得到了广泛应用,如娱乐产业、教育领域、通信行业等。音视频计算机的发展得益于科技的进步和计算机技术的提高。随着计算机硬件性能的不断提升,现代计算机已经具备了足够的处理能力......
  • 音视频
    当谈到计算机音视频,我们可以将其分为两个方面:音频和视频。计算机音频是指处理、传输和储存音频信息的技术,而计算机视频则涉及处理、传输和储存视频信号的技术。以下是对这两个方面的简要介绍:一、计算机音频技术计算机音频技术包括录制、播放、编码、解码和处理音频信号的过程。它可......
  • Qt/C++音视频开发52-采集本地屏幕桌面的终极设计
    一、前言最开始设计的时候,只考虑了一个屏幕的情况,这种当然是最理想的情况,实际上双屏或者多屏的用户也不在少数,比如我这两个屏幕,屏幕1是1080P,屏幕2是2K分辨率,打印两个屏幕的区域是QRect(0,01920x1030),QRect(1920,-2082560x1390),可以看到有个负数值(可以在操作系统中的排列显示......
  • 音视频
    计算机音视频技术在现代社会中发挥着重要的作用。从在线娱乐到远程教育,从会议交流到虚拟现实,计算机音视频技术已经深入到我们的日常生活和工作中。本文将简要介绍计算机音视频技术的发展历程、应用领域以及未来的发展方向。计算机音视频技术的起源可以追溯到20世纪90年代,当时计算机......