线上KTV

概述

更新时间:2021-04-25 20:25

1 场景介绍

KTV 是社交娱乐模式下的一种新型互动方式,通过歌曲把人与人连接起来,让沟通破冰变得更加简单。主要应用场景如下:

  • 多个用户在同一房间中进行线上 K 歌,衍生出猜歌、抢歌、单人独唱、双人合唱、分段轮唱等场景。
    该场景中,会划分出房主、主持人、合唱者、观众等角色,各自拥有不同的权限。所有用户都可以通过房间列表或搜索房间号加入房间,上麦后参与 K 歌互动,也可以创建房间让更多人进房陪玩。

    角色 描述
    房主 房间的创建人。
    主持人 控场并活跃房间氛围秩序。
    合唱者 根据歌词进度和伴奏进行上麦合唱。
    观众 在麦下倾听,发消息送礼互动。
  • 跨房间对唱,通常是不同房间的主播之间进行 PK 比拼,各自房间的用户为主播助力的场景。


ZEGO 流媒体服务平台为 KTV 应用场景提供全方位支持,包括:

  • 优秀的终端技术,支持高音质、无回声强降噪音频。
  • 稳定可靠的流媒体网络既支持低延迟实时互动需求,也支持跨区域大量分发场景。
  • 强大灵活的定制接口,支持自定义音效、视频采集与滤镜处理等高级功能。

2 方案介绍

KTV 的实现分为“串行方案”和“实时方案”。

2.1 串行方案

“串行方案”指合唱各方串行加入,主唱推出一条流,包含了伴奏和人声,副唱跟着主唱的伴奏进行合唱,观众再拉由副唱发出的混流。

/Pics/GoEnjoy/online_KTV/overview_1.png

主要包括以下三种模式:

模式 描述
MV 视频 KTV

房间内人员都可以进行点歌并排麦,歌手按照麦序单人进行唱歌。

歌词显示方式:背景图 + 字幕、MV 唱片。

多麦直播 KTV

房间内人员都可以进行点歌并排麦,歌手按照麦序单人进行唱歌;房间内等待上麦的人员可以进行聊天互动、点评等。

歌词显示方式:背景图 + 字幕、MV 唱片。

合唱直播 KTV

主唱创建房间点歌,副唱进入房间加入合唱,主唱和副唱实时合唱,主副唱可以听到彼此的声音,观众可以观看主唱和副唱的合唱直播。

歌词显示方式:字幕。

以上三种模式中,核心的 KTV 场景功能需求有:

  • 伴奏音乐/MV 播放
  • 伴奏与歌声混音
  • 音乐与歌词同步
  • 主唱与听众互动

ZEGO SDK 对以上需求提供了接口支持,只需简单编码即可实现这些核心需求。业务方结合简单信令控制,就可以串起 KTV 的各种模式的业务流程。

2.2 实时方案

各端在连麦的基础上同时播放歌曲伴奏,然后上麦进行合唱,双人模式下主唱和副唱可以互相听到对方声音,多人模式下合唱者之间都能听到彼此声音,几乎感受不到延迟,达到了真正意义上的实时合唱。

在媒体流方面,合唱者互相进行推拉流,同时会由一名合唱者推出歌曲伴奏,其他合唱者在本地播放伴奏,经过 NTP 进行时间同步。另外,歌曲伴奏和所有合唱者的声音都通过 ZEGO RTC 进行混流服务处理形成一条流,观众只需拉一条流即可听到各端同步的声音,完美实现多人合唱的效果。

/Pics/GoEnjoy/online_KTV/overview_2.png

该方案的优点在于:

  • 降低了端到端的时延。
  • 提供了用户中途加入合唱的解决方案。
  • 精准同步不同端之间的伴奏、歌词、人声。
  • 改善各端设备性能和本地时间不精准的情况,降低网络环境造成的时延影响。

建议使用 Android 9.0 或以上版本、高通骁龙 6xx 系列以上芯片的手机体验会更佳。

3 方案优势

  • 串行方案支持双人合唱、单人 MV、多麦直播三种房间模式,观众端听到主副唱的声音与伴奏同步,副唱和观众的体验得到较好的保障,主唱的体验稍差。
  • 实时方案支持多人实时合唱,精准同步各端之间的伴奏与人声,端到端延迟低至 70 ms,不受合唱人数的限制,接入成本低且扩展容易。

4 功能列表

  • 串行方案

    主要功能 功能描述
    登录房间 使用主播或观众的身份登录房间,用于标识后续是进行直播还是只观看。主播端与观众端需进入同一个房间才能使用信令交互模块。
    视频外部采集 MV 场景中需要将从媒体播放器拿到的视频帧,通过外部采集塞进 SDK,推送给观众。
    推流 推送自己或 MV 的画面、麦克风采集音频和音乐。
    拉流 播放主唱的流画面及声音。
    媒体播放器

    媒体播放器将音乐混入麦克风采集音频中。

    MV 场景中还可获取 MV 的视频帧,通过外部采集塞进 SDK,推送给观众。

    媒体次要信息 把歌曲合唱的进度信息,通过媒体通道发送给接收方,接收方在接收后,播放的同时,能够得到播放进度,根据进度展示歌词。
  • 实时方案

    主要功能 功能描述
    推流 房主和麦上合唱者将自己麦克风采集的声音,以及歌曲声音推送出去。
    拉流 观众拉取各端精准同步后的混流,同时麦上合唱者之间也会进行互相拉流。
    混流 不同合唱者及歌曲声音混成一条流,观众只需拉取一条流即可收听,降低了开发成本和设备性能要求。
    房间列表 将多个在线的房间以列表形式进行实时展示,观众可以通过房间列表进入房间。
    麦位操作 用户可以在麦位区进行上麦、下麦、换麦、闭麦操作,自由切换角色,高度还原真实 KTV 场景。
    点歌台 合唱者可以通过歌曲列表进行点歌,所点的歌曲将会进入已点队列,按照点歌时间逐首依次合唱。
    歌曲操作 合唱者可以对歌曲、人声、耳返音量进行调节,控制适合自己合唱的音量大小。
    混响 支持摇滚、录音棚、大教堂、音乐厅等多种类型的混响,结合歌曲伴奏进行推流,让 K 歌变得更加生动。
    3A 技术 采用 ZEGO 自研的音视频引擎,通过成熟的 3A 技术对 K 歌声音进行回声消除、噪音抑制、音量增益处理,减轻用户对声音的不同困扰,提升房间内的合唱体验。