首页 虚拟数字人开放平台 开发指南 数字人流媒体开发指南

数字人流媒体开发指南

本文介绍数字人流媒体服务的接入流程和开发方案。

数字人流媒体服务(包括3D数字人流媒体服务和2D数字人流媒体服务)是将数字人在云端渲染出的视频画面通过流媒体的方式输出到客户端,平台目前提供了阿里云RTC流媒体渠道和标准RTMP流媒体渠道两种渠道。播报数字人(对应开放平台的“咨询播报”场景)和互动数字人(对应开放平台的“客服助理”场景)使用阿里云RTC渠道,平台会将数字人渲染的视频流推到阿里云RTC服务器,客户可以使用阿里云RTC的客户端SDK进行拉流播放对应视频流;推流数字人(对应开放平台的“虚拟主播”场景)使用标准RTMP渠道,平台可以将数字人渲染的视频流通过RTMP协议推流到支持对应协议的直播平台,客户可以从对应的直播平台观看视频流。

下面通过一个典型的客户端-服务端架构产品介绍数字人流媒体服务整体的接入流程。

1. 完整的技术链路图:

image
  • 整体架构上分为客户应用、虚拟数字人开放平台服务和阿里云RTC服务

  • 客户应用分为客户端(包括:网页,小程序,APP等)和服务端(java服务器,python服务器等)

    • 如果客户只有客户端,如一个APP,没有服务端的情况,目前平台的服务端API使用的是阿里云的openapi,支持android直接调用(java sdk)

2. 核心链路介绍

2.1 启动数字人流媒体服务

  • 目的:

    • 启动一路数字人流媒体服务,数字人的视频画面将被推送到阿里云RTC服务器(推流数字人是直接推流到对应的直播平台)

  • 核心流程:

    • 客户应用客户端向客户应用服务端发起启动数字人流媒体服务请求,客户应用服务端收到请求后通过调用虚拟数字人开放平台服务端SDK的StartInstance接口启动一路数字人流媒体服务(目前平台服务端SDK支持java/python/php三种开发语言,具体接入方案可参考服务端API接入),拿到接口返回的sessionId和RTC流媒体服务参数,然后返回给客户应用客户端

2.2 拉取数字人视频流

  • 目的:

    • 客户端拉流对应的数字人视频流,并在客户端进行显示

  • 核心流程:

    • 通过上一步服务端返回的RTC流媒体服务参数,接入阿里云RTC客户端SDK进行拉流,目前阿里云RTC客户端SDK支持全平台接入(Android/IOS/Web/Windows等),接入方案可参考实时流媒体服务接入

2.3 向数字人发送播报指令

  • 目的:

    • 驱动数字人播报对应的文本

  • 核心流程:

    • 客户应用客户端向客户应用服务端发起驱动数字人播报文本请求,客户应用服务端收到请求后通过调用虚拟数字人开放平台服务端SDK的SendMessage接口驱动数字人播报

2.4 停止数字人流媒体服务

  • 目的:

    • 在使用完数字人流媒体服务之后停止对应流媒体服务,释放资源(平台根据数字人流媒体服务启动的数量进行计费,请在使用完成后及时停止,避免造成无流媒体服务可用的情况)

  • 核心流程:

    • 客户应用客户端向客户应用服务端发起停止数字人流媒体服务请求,客户应用服务端收到请求后通过调用虚拟数字人开放平台服务端SDK的StopInstance接口停止数字人流媒体服务

以上就是一个典型的客户端-服务端架构产品使用数字人流媒体服务的整体链路,关于播报数字人、互动数字人等具体数字人流媒体服务的接入可参考下方详细的接入指南:

阿里云首页 虚拟数字人 相关技术圈