实时音视频 SPARKRTC-示例2:创建合流录制任务:操作步骤
时间:2024-10-18 15:28:10
操作步骤
- 获取用户Token,用于调用SparkRTC接口时进行认证鉴权。
在“我的凭证”页面获取username、password、domainname,调用如下接口 获取Token 。详细信息请参见构造请求。
POST https://iam.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //用户名。 "password": "password", //用户登录密码。 "domain": { "name": "domainname" //用户所属的账号名。 } } } }, "scope": { "domain": { "name": "domainname" //用户所属的账号名。 } } } }
如图1所示,红框中的信息为获取用户Token。 - 调用创建应用接口创建SparkRTC应用。
- 选择POST请求方法并输入URI。
https://rtc-api.myhuaweicloud.com/v2/apps
- 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。
- Request Body中传入如下参数:
{ "app_name" : "rtctest" }
- 请求响应成功后,返回已创建应用的ID。
{ "app_id": "5ff9701f2346968bb306cb43", }
- 选择POST请求方法并输入URI。
- 调用创建或更新录制规则接口,创建录制规则。
- 选择POST请求方法并输入URI。
https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-rules
- 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。
- Request Body中传入如下参数:
{ "obs_addr": { "bucket": "obsName", "location": "cn-north-4", "object": "Record/", "project_id": "01234567890123456789012345678901" }, "record_formats": ["MP4"], "mp4_config": {} }
- 请求响应成功后,返回已创建的录制规则。
{ "app_id": "5ff9701f2346968bb306cb43", "rule_id": "5d0ec2c53a2c15625017adb8bbbcd9ab", "create_time": "2021-04-21T10:29:33Z", "hls_config": { "record_cycle": 0, "record_max_duration_to_merge_file": 0 }, "mp4_config": { "record_cycle": 7200, "record_max_duration_to_merge_file": 0, "record_prefix": "Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time}" }, "obs_addr": { "bucket": "obsName", "location": "cn-north-4", "object": "Record/", "project_id": "01234567890123456789012345678901" }, "record_formats": [ "MP4" ], "update_time": "2021-04-21T10:29:33Z" }
- 选择POST请求方法并输入URI。
- 调用RTC增值(录制)事件回调配置接口,配置录制回调。
- 选择PUT请求方法并输入URI。
https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-callback
- 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。
- Request Body中传入如下参数:
{ "url": "http://mydomain.com/callback", "auth_key": "8923ab8c2dcef4538923ab8c2dcef453" }
- 请求响应成功后,返回已创建的回调信息。
{ "app_id": "5ff9701f2346968bb306cb43", "record_callback": { "auth_key": "8923ab8c2dcef4538923ab8c2dcef453", "update_time": "2021-04-07T12:05:18.0718Z", "url": "http://mydomain.com/callback", "notify_event_subscription": [ "RECORD_NEW_FILE_START", "RECORD_FILE_COMPLETE", "CLOUD_RECORD_OVER" ] } }
- 选择PUT请求方法并输入URI。
- 终端用户通过SparkRTC APP加入某个SparkRTC房间,SparkRTC APP的集成开发请参见客户端SDK。
- 调用启动合流任务接口,创建录制任务。
- 选择POST请求方法并输入URI。
https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/mix-stream-jobs
- 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。
- Request Body中传入如下参数:
{ "mix_param": { "room_id": "room001", "encode_template": "1920x1080_30_4620", "max_idle_time": 30, "layout_template": "nine_grids_view" //若视频布局为屏幕共享,则填写为screen_share_left或screen_share_right。 }, "record_param": { "record_rule_id": "5d0ec2c53a2c15625017adb8bbbcd9ab" } }
layout_template:视频布局模板编号。
- nine_grids_view:九宫格模板(自适应模板)。
每个用户画面平铺在画布上,大小一致。根据用户数量,动态调整每个画面的大小和位置,最多支持25个画面。不同人数的实际布局效果如下图所示:
- 如果实际视频流的宽高比与视窗的宽高比不一致,则视频画面会裁剪以适配视窗的大小。
- 如果中途有流退出房间,则该条流的画面会被后进入房间的流顶替。
- 如果房间内的人数不足,则剩余位置显示背景色。
- 如果用户只发送音频,仍然会占用画面位置。
- 支持背景图,如果房间内人数不足,则显示背景图。
- screen_share_left、screen_share_right:主视图在左边、右边的屏幕共享模板(自适应模板)。
屏幕分享(或者主讲人摄像头画面)始终占据屏幕左侧或者右侧大画面位置,其他用户依次垂直排列于旁边,最多支持17个画面。不同人数的实际布局效果如下图所示:
- 大视窗画面,可选择主讲摄像头流或共享屏幕流。
- 大视窗画面,显示指定的UID用户的视频,如果未指定或者指定用户未进入频道,则大视窗区域显示背景色。
- 左侧大视窗为了保持内容的完整性采用缩放方式处理,右侧小视窗采用裁剪方式适配视窗的大小。
- 右侧小视窗画面按照加入房间的时间先后顺序排列。
- 右侧小视窗有流退出房间,则该条流的画面会被后进入房间的流顶替。
- 如果房间内的人数不足,则剩余位置显示背景色。
- 如果用户只发送音频,仍然会占用画面位置。
- 支持背景图,如果房间内人数不足,则显示背景图。
- nine_grids_view:九宫格模板(自适应模板)。
- 请求响应成功后,返回合流录制任务信息。
{ "app_id": "5ff9701f2346968bb306cb43", "create_time": "2021-04-21T11:47:32Z", "job_id": "607f9fc100d861eeefff9b300b388dab", "job_unique_id": "87b1f2b8da9c44cd", "mix_param": { "room_id": "room001", "layout_template": "nine_grids_view", "encode_template": "1920x1080_30_4620", "max_idle_time": 30 }, "push_param": { "rtmp_urls": null }, "record_param": { "record_rule_id": "5d0ec2c53a2c15625017adb8bbbcd9ab" }, "room_id": "room001", "start_time": "2021-04-21T11:47:32Z", "state": "INIT", "stop_time": "0001-01-01T00:00:00Z", "stream_name": "m_607f9fc100d861eeefff9b300b388dab_room001", "update_time": "2021-04-21T11:47:32Z" }
- 选择POST请求方法并输入URI。
- SparkRTC房间结束音视频互动后,您可以在配置的OBS桶中获取录制文件。
support.huaweicloud.com/api-rtc/rtc_07_0009.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章