1 简介
随着视频直播应用越来越被广泛接受,视频直播应用的相关技术和玩法也在不断革新,以持续吸引和留住用户。 近六个月来,一些典型的创新玩法,包括卡拉OK直播、合唱直播等,深受用户欢迎。 这些创新玩法均采用了实时混音技术。
今天我们就来说说混音技术在视频直播应用中的实现原理和解决方案,以及它在创新玩法中的实际应用。
2、混合的应用场景
混音,顾名思义,就是将两个或多个音频流混合在一起形成一个音频流。 作者写了两篇关于流媒体的文章。 混合也称为融合,是指将视频图像和音频对齐,然后将它们混合成音频和视频流。 今天我们要讲的实时混音仅指音频流的混音。
混音的逻辑可以在终端设备上实现,也可以在服务器上实现,因此可以分为终端混音和云端混音。 终端混音一般用于背景配音、音乐伴奏等场景。 云混合可以是云混合的一部分。 主要目的是利用云端的计算能力来对齐多个音视频流的音视频,降低下行带宽的成本。 也可以纯云混音实现现场合唱。 以及其他场景需求。
混音技术在视频直播应用场景中并不新鲜。 视频直播间里比较机械的掌声、笑声、口哨甚至背景音乐都是混音技术的应用。 主播侧,采集主播的语音形成音频流A1,从音频文件中读取音频流A2,将两个音频流A1和A2混合形成一个音频流,即进行混音。
然而,视频直播的创新日新月异。 2017年12月,酷狗直播推出KTV直播方式。 主播可以在线跟着卡拉OK伴奏。 直播间的观众可以听到主播的演唱和伴奏,还可以看到歌词和字幕。 2018年5月,全民卡拉OK推出合唱直播方式。 主播和嘉宾在网上一起唱同一首歌。 直播间的观众可以听到主播和嘉宾的合唱和伴奏。
这些新的玩法都是混音技术的深度应用。 这两种玩法的逻辑将在本文后面讨论。
3、混合前处理
任何两个音频流都不能直接混合。
两个音视频流必须满足以下条件才能混合:
混音前还需要进行回声消除、噪声抑制、静音检测等处理。 回声消除和噪声抑制属于语音预处理的范围。 在编码之前,应依次进行采集、语音预处理、预混合处理、混合和后混合处理。 静默抑制(VAD,)是可选的。 对于终端混音,将采集到的主持人声音和从音频文件中读取的伴奏声音进行混合。 如果主播停顿一段时间,没有发出任何声音,通过VAD检测到,那么这段时间就不会混音,直接使用伴奏音乐的数据。 然而,为了简单起见,也可以不进行VAD。 当主播保持沉默时,您可以继续混音(主播的声音幅度为零)。
4. 基本混合算法
我们周围的环境是一个天然的混合场。 各种声波在空气中传播,相互叠加,进入我们的耳朵。 空气中不同声波的振幅的叠加是线性的。 因此,在混合算法中,音频采样数据代表了声音的幅度,音频数据的叠加也是线性的。
然而,我们需要考虑两个因素。
混合重量:
两个音频流的幅度代表声音的能量水平。 然而,这两种声音之一可能很大,而另一个可能很小。 对比是巨大的。 混音时,从用户的主观听感来看,他们希望两种声音混音后听起来更加平衡。 因此,混合算法必须考虑两个声音幅度的权重,或者调整音量。
实践经验表明,采集到的主播声音比较安静,而从文件中读取的音频声音则比较响亮。 建议保持主播语音音量不变,将伴奏音乐音量调节到更合适的程度,然后进行混音。
溢出处理:

两个音频流的两个对应采样点的数据线性相加可能会导致溢出。 每个音频采样点的数据用 表示,即2个字节,可表示的有符号整数范围为-~。
两个音频流对应的两个采样点用两个整数表示。 这两个整数相加可能会溢出、上溢或下溢。 因此,混合算法需要能够处理溢出情况。
处理溢出的方法有很多种。 这里只有一种:直接加法和钳位法。 如果总和向上溢出,则使用最大正值 ()。 如果向下溢出,则使用最大负值(-)。
5、混合后的处理
混合处理后需要进行溢出检测,对溢出的采样点进行溢出处理。 您还可以进行一些平滑操作,但这不是必需的。 混音效果的好坏最终是由用户的主观聆听体验来判断的。
混合技术一般不单独使用。 在视频直播场景中,往往会与其他技术混合使用。 例如,在卡拉OK直播场景中,所使用的技术包括混音技术以及歌词和媒体的同步传输技术。 在合唱直播场景中,所使用的技术包括混音技术、连续麦克风直播技术等,多种技术的灵活组合可以打造主播和用户喜爱的玩法,增加直播平台的用户活跃度。
6、混音及KTV直播
KTV直播,即线上歌厅的玩法,真实还原了线下歌厅的玩法。 例如,小明是一名麦霸。 他周末想去卡拉OK房唱歌,但他的朋友都没有空,他无法预约和他一起唱歌。 于是小明通过手机或者电脑进入了网络卡拉OK房。 房间里还有像小明这样的其他用户。 和其他用户一样,小明必须排队轮流对麦唱歌,而且他必须点好自己想唱的歌曲才能上麦。 在卡拉OK唱歌时,小明可以听到伴奏,看到歌词。 歌房内的其他用户可以听到小明的演唱和伴奏,还可以看到同步的歌词,完美还原了线下歌房。 经验。 这样,即使小明无法约上朋友,他仍然可以找到网友,用在线KTV唱卡拉OK。
从技术角度来看,KTV直播本质上是在视频直播基础上混音技术和媒体通道数据传输技术的应用。 上面已经详细介绍了混合技术。 媒体通道数据传输技术是在媒体通道中传输数据信息,如歌词等信息。 下图是KTV直播的技术架构。
KTV直播技术架构图:
在歌手终端,将歌手的声音和伴奏音乐混合在一起,与歌手的视频一起编码成音视频流,推送到实时传输网络。 这是之前介绍过的混合技术。 歌词信息和音视频信息在同一媒体通道上传输,保证了歌词和音视频的同步。 这是媒体通道数据传输技术,可以应用于KTV直播,也可以应用于直播问答、在线教育场景。
一般业务流程如下:
这是典型的视频直播场景,再加上混音技术和媒体通道数据传输技术的结合,真正还原了线下KTV的效果。
7、混音、合唱直播
合唱直播实际上是KTV直播加合唱场景,真实还原了线下卡拉OK房的合唱玩法。 合唱直播是指两个或两个以上用户一边看歌词一边跟着伴奏一起唱歌。 合唱直播和KTV直播的关键区别在于,有两个或两个以上用户一起唱歌。 混合位置(在哪个终端?是终端还是云端?)是需要考虑的关键。 最后,演唱、伴奏、歌词一定要同步。 。 KTV直播的混音场所是歌手的设备,而合唱直播的混音场所可以是歌手的设备,也可以是云端,根据不同的方案而定。
去年11月,马云与王菲演唱的《风清》,被用作《功守道》的主题曲,成为朋友圈的热门话题。
如果马云和王菲利用合唱直播技术在线演唱,效果图如下:

从技术角度来看,合唱直播本质上是在视频直播的基础上,应用了混音技术、媒体通道数据传输技术甚至现场直播技术。
一般来说,合唱直播有两种选择。
【方案一】:
两位歌手不连接麦克风酷狗ktv不用系统伴奏,混音在终端完成。 演唱、伴奏和歌词严格同步,但只有一位歌手可以听到另一位歌手的歌声。
方案一的架构图如下:
这里我们以马云和王菲的在线唱歌为例来说明方案一的业务逻辑:
此时,直播间的观众就可以听到马云和王菲一起唱歌,就好像他们在同一个KTV里一起唱歌一样。
【方案二】:
两名歌手连接麦克风,混音在云端完成。 两位歌手可以听到对方的歌声,但演唱、伴奏、歌词很难严格同步。
方案二的架构图如下:
这里以歌手A和歌手B一起唱歌为例来说明方案二的业务逻辑:
这样就可以实现完全互动的现场合唱,就好像歌手A和歌手B在同一个卡拉OK房唱歌一样:
当网络状况良好时,同步效果较好,与第一种方案相当。 当网络条件较差时,失步效应更加明显。
八、本文总结
混合技术作为一种技术酷狗ktv不用系统伴奏,往往会与其他技术灵活结合,实现特定场景下的玩法创新。 前面提到的KTV直播和合唱直播都是混音技术的具体应用。 视频直播作为一个综合性的应用场景,随着技术和业务的发展,逐渐衍生出众多的微场景,包括上面提到的两个微场景。 在视频直播微场景需求的驱动下,各种音视频技术点的灵活组合可以衍生出各种技术解决方案。
另外还有一些c++后端服务器开发的知识点可以分享:P2P、K8S、TCP/IP、协程、DPDK、音视频等,喜欢的朋友可以后台私信[1]获取学习视频。
附上为大家准备的音视频学习课程大纲。
