产品百科 |Ali RTC 如何进行云端录制?

简介: 云端录制功能暂时免收相关费用,后续收费信息请您关注官网的通知。

音视频通信 RTC(Real-Time Communication)是阿里云覆盖全球的实时音视频开发平台,依托核心音视频编解码、信道传输、网络调度技术,提供高可用、高品质、超低延时的音视频通信服务,让用户快速搭建多端实时应用,适用于在线教育、视频会议、互动娱乐、音视频社交等场景。


产品链接:https://www.aliyun.com/product/rtc


阿里云 RTC 为您提供录制服务,将正在进行实时音视频通话时频道的画面同步到云端进行云端混流,并将混流后的频道内容进行录制,同时您也可以根据业务场景自由选择录制的内容。通过本文,您可以快速了解录制服务的基本概念和功能说明。

前提条件

在使用录制服务前,您需要完成以下操作:

  • 您已经完成注册阿里云账号,并完成实名认证。具体操作,请参见阿里云账号注册流程
  • 您已经开通音视频通信服务。具体操作,请参见开通服务
  • 您需要在阿里云音视频通信 RTC 控制台创建应用。具体操作,请参见创建应用
  • 您需要开通阿里云 OSS 服务存储录制文件。具体操作,请参见开通服务
  • 您需要开通阿里云 MNS 服务接收录制回调消息。具体操作,请参见开通服务

流程图

image.png

录制存储到 OSS

阿里云 RTC 服务支持将接收到的源视频流进行录制,支持 M3U8(同时会有.ts 分片文件) 格式,也支持周期录制时长的配置,视频文件会保存至您指定的 OSS 存储位置。录制任务结束时,自动生成本次的录制索引文件(M3U8 文件)。还支持按您指定的录制开始时间和录制结束时间生成自定义录制索引文件。

说明

  • 为了便于您对录制内容进行回看,录制的视频存储在 OSS bucket 中。本文以录制存储至 OSS 为例进行说明。
  • 如果将录制的视频存储至 OSS 中,您需要授权阿里云 RTC 可将视频内容写入 OSS。授权后才能将视频存储至指定的 OSS bucket 中。
  • 为了避免录制时,因网络抖动或临时断流而导致录制文件被异常截断,系统会延迟断流 180s,即如果断流之后在 180s 内重新推流,系统会默认是同一路录制流,超过 180s 则认为是两路录制流。
  1. 如何配置 OSS,请参见配置 OSS
  2. 配置 RTC 写入 OSS 权限阿里云 RTC 录制文件保存到用户 OSS,需要授权 RTC 访问用户 OSS 资源,RTC 通过服务关联角色 AliyunServiceRoleForRTC 访问相应用户资源。
  1. 您需要拥有指定的权限,才能自动创建或删除 AliyunServiceRoleForRTC。因此在 RAM 用户无法自动创建 AliyunServiceRoleForRTC 时,您需为其添加以下权限策略。
{
    "Statement": [
        {
            "Action": [
                "ram:CreateServiceLinkedRole"
            ],
            "Resource": "acs:ram:*:主账号ID:role/*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "ram:ServiceName": [
                        "rtc.aliyuncs.com"
                    ]
                }
            }
        }
    ],
    "Version": "1"
}

  1. 说明 请将主账号 ID 替换为您实际的阿里云主账号 ID。
  2. 登录 RAM 访问控制,选择权限策略管理 > 新建自定义权限策略,为 RAM 用户创建新的权限策略。

image.png

主要接口及功能

接口 描述
AddRecordTemplate 添加录制配置模板
DeleteRecordTemplate 删除录制配置模板
UpdateRecordTemplate 更新录制配置模板
DescribeRecordTemplates 查询录制模板配置列表
DescribeRecordFiles 查询录制的文件列表
StartRecordTask 开始录制视频任务
StopRecordTask 停止视频录制任务
UpdateRecordTask 运行中任务参数更新


「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。

image.png

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
9月前
|
人工智能 Java API
MCP客户端调用看这一篇就够了(Java版)
本文详细介绍了MCP(Model Context Protocol)客户端的开发方法,包括在没有MCP时的痛点、MCP的作用以及如何通过Spring-AI框架和原生SDK调用MCP服务。文章首先分析了MCP协议的必要性,接着分别讲解了Spring-AI框架和自研SDK的使用方式,涵盖配置LLM接口、工具注入、动态封装工具等步骤,并提供了代码示例。此外,还记录了开发过程中遇到的问题及解决办法,如版本冲突、服务连接超时等。最后,文章探讨了框架与原生SDK的选择,认为框架适合快速构建应用,而原生SDK更适合平台级开发,强调了两者结合使用的价值。
12240 33
MCP客户端调用看这一篇就够了(Java版)
|
存储 缓存 算法
[转]分布式唯一ID生成方案
分布式唯一ID生成方案
648 0
[转]分布式唯一ID生成方案
|
缓存 NoSQL Java
java中实现定时给微信群中发送每日简报
java中实现定时给微信群中发送每日简报
|
XML 缓存 监控
Spring之面向切面(AOP)
Spring之面向切面(AOP)
315 0
|
6月前
|
存储 人工智能 Go
Go-Zero全流程实战即时通讯
Go-Zero 是一个功能丰富的微服务框架,适用于开发高性能的即时通讯应用。它具备中间件、工具库和代码生成器,简化开发流程。本文介绍其环境搭建、项目初始化及即时通讯功能实现,涵盖用户认证、消息收发和实时推送,帮助开发者快速上手。
416 0
|
12月前
|
人工智能 安全 机器人
重磅发布的「AI视频通话」如何10分钟就实现?
2024年,OpenAI发布GPT-4o,支持文本、音频和图像的组合输入与输出,使交互更接近自然交流。传统语音助手需经历多阶段处理,容易出现延迟或误解,体验感差。本文介绍如何在阿里云上快速创建可视频通话的AI智能体,实现拟人化交互、精准感知、情绪捕捉等功能,提供高质量、低延时的音视频通话体验。通过简单的部署流程,用户可以轻松创建并体验这一先进的人机交互技术。点击“阅读原文”参与活动赢取惊喜礼物。
|
算法 前端开发 API
开源轻量级IM框架MobileIMSDK的鸿蒙NEXT客户端库已发布
MobileIMSDK-鸿蒙端是一套基于鸿蒙Next(纯血鸿蒙)系统的IM即时通讯客户端库: 1)超轻量级(编译后库文件仅50KB)、无任何第3方库依赖(开箱即用); 2)纯ArkTS编写、无Native代码、高度提炼、简单易用; 3)基于鸿蒙Next标准WebSocket API,简洁优雅; 4)可运行于任何支持鸿蒙Next的平台; 5)能与 MobileIMSDK的各种客户端完美互通; 6)可应用于鸿蒙Next中的消息推送、客服聊天、企业OA、IM等场景。
419 45
|
缓存 JavaScript 前端开发
Vue的服务端渲染:Vue的服务器端渲染(SSR)技术详解
【4月更文挑战第24天】Vue的服务器端渲染(SSR)能解决SPA的首屏加载和SEO问题。SSR预渲染HTML,提升首屏速度,改善SEO,提供更好的用户体验。Nuxt.js是Vue的SSR框架,简化开发流程。但SSR增加服务器压力,开发成本高,且需处理缓存问题。选择SSR需权衡优劣。本文旨在帮助理解Vue SSR原理、优势及实践方法。
|
资源调度 JavaScript
Vue2拖拽插件(vuedraggable)
这篇文章介绍了如何在Vue 3框架中使用`vuedraggable`插件来实现拖拽功能,并提供了插件的安装、配置和事件处理的示例。
1552 1
Vue2拖拽插件(vuedraggable)
|
缓存 NoSQL Redis
Redis命令:列表模糊删除详解
Redis命令:列表模糊删除详解
491 3