本文介绍音视频通话 API 在接入 Web 端时涉及到的主调接口。
Connect
建立通话连接。config_param
是一个结构体,里面包含如下字段。
参数:
请求参数
类型
是否必填
说明
uid
int
必填
用户唯一标识,由客户端透传而来。
说明目前 uid 只支持英文字母、数字、下划线的组合,且长度不超过 128 个字符。
room_server_url
String
必填
房间服务器地址,公有云中金区环境与非金区环境的房间服务器地址不同,您可以按您当前的环境选择房间服务器的地址。
非金区:wss://mrtc.mpaas.cn-hangzhou.aliyuncs.com/ws
金区:wss://room.mrtc-fin.cn-shanghai.aliyuncs.com/ws
biz_name
String
必填
业务标识
sub_biz
String
必填
业务标识,mPaaS 下对应的 appId,可以从 mPaaS 控制台 中获取。
sign
String
必填
签名供验证
回调接口异步返回:
连接成功:
OnConnectOK()
连接失败:
OnConnectFailed(err_code, err_msg)
回调参数
类型
说明
err_code
int
错误码:
-101:初始化超时
-102:初始化失败
err_msg
String
状态信息
Disconnect
断开连接。调用 Disconnect()
接口,如果正处于通话阶段,会触发关闭发布和订阅的流,并离开房间。即 关闭房间所有流 > 离开房间 > 断开信令连接。
参数:无。
回调接口异步返回:连接关闭
OnConnectClose()
InitRoomConfig
初始化房间。
参数:
请求参数
类型
说明
config_param
{}
config_param 是一个结构体,里面包含的字段见下表。
config_param 参数:
请求参数
类型
是否必填
说明
auto_publish_subscribe
int
必填
发布订阅模式:
1:自动订阅。
2:自动发布。
3:自动订阅+自动发布。
4:由业务自己操作。
5:自动订阅+当房间中有其他人时自动发布。
engine
int
选填
引擎类型:
0:ALIPAY,默认值
1:ALIYUN
2:P2P
third_id
String
-
业务关联 ID,默认为空。
need_volume_analyser
boolean
-
默认为 false,是否需要实时音量值。
liveUrl
String
选填
直播地址,使用直播模式时必填。
publish_type
int
选填
推送模式,使用直播模式时必填。
2:RTC 模式
3:直播模式
defaultRecord
boolean
选填
服务端是否默认录制,默认为 false。
recordStrongDepend
boolean
-
是否强依赖录制,默认为 true。若为 true,同时录制启动未成功时,音视频通话也无法连接成功。
record_third_id
String
-
录制三方的 ID,用于业务方去区分调用批次,在启动成功、失败的回调中返回,非必传。
recordParam
JSON
选填
具体参数见附录 recordParam。
filePath
String
选填
服务端录制路径,若指定 filePath,则需指定 defaultRecord 为 true。
enableAudio
boolean
非必填
enableVideo 也同时未填时,都默认为 true。
enableVideo
boolean
非必填
enableAudio 也同时未填时,都默认为 true。
enableDataChannel
boolean
选填
是否使用 datachannel,必须在 engine 的值为 2 时才可使用,默认为 false。
若 auto_publish_subscribe=1,需要以下参数。
请求参数
类型
说明
initSubscribe
Array
订阅参数
subscribe_video_id
-
用于展示视频流
subscribe_audio_id
-
用于展示订阅音频流
subscribe_streamId_id
-
label 标签,用于展示 streamId。
feedId_id
-
label 标签,用于展示 feedId。
代码示例:
// initSubscribe:Array,订阅参数。 initSubscribe = [ { subscribe_video_id: "video1", subscribe_audio_id: "audio1", subscribe_streamId_id: "streamId",GetRecordInfo feedId_id: "feedId" },{},{}];
若 auto_publish_subscribe 值为 2 时,需要配置以下参数:
请求参数
类型
是否必填
说明
media_type
int
必填
音视频类型:
1:音视频
2:纯音频
3:纯视频
publish_bitrate
int
选填
发布最大码率,默认为 600Kbps。
publish_device
int
必填
发布类型:
1:摄像头
2:共享桌面
3:发布文件(图片和视频)
4:发布自定义页面区域
5:发布自定义推流
若 auto_publish_subscribe 值为 3 或 5 时,需要配置以下参数:
请求参数
类型
是否必填
说明
media_type
int
必填
音视频类型:
1:音视频
2:纯音频
3:纯视频
publish_bitrate
int
选填
发布最大码率,默认 600Kbps。
publish_device
int
必填
发布类型:
1:摄像头
2:共享桌面
3:发布文件(图片和视频)
4:发布自定义页面区域
5:发布自定义推流
initSubscribe
Array
-
订阅初始化需要以下参数:
subscribe_video_id:用于展示视频流。
subscribe_audio_id:用于展示订阅音频流。
feedId_id:label 标签,用于展示feedId。
subscribe_streamId_id:label 标签,用于展示 streamId。
代码示例:
// initSubscribe:Array,订阅参数 initSubscribe = [ { subscribe_video_id: "video1", subscribe_audio_id: "audio1", subscribe_streamId_id: "subscribe_streamId1", feedId_id: "feedId1" },{},{}];
当 publish_device 值为 1 时,需要配置以下参数:
请求参数
类型
是否必填
说明
videoSource
String
选填
摄像头的设备 ID,用于发布指定摄像头。
audioSource
String
选填
麦克风的设备 ID,用于发布指定麦克风。
aspectRatioStrongDepend
boolean
-
默认为 false,是否强制指定视频横纵比。
aspectRatio
String
选填
aspectRatioStrongDepend 值为 true 时必填。
视频横纵比:
1 表示 4:3
2 表示 16:9
degradationType
int
选填
流畅度优先或清晰度优先:
1:流畅度优先(默认)
2:清晰度优先
video_profile_type
int
选填
本地视频清晰度档位:
1:720P,1280x720,16:9
2:VGA,640x480,4:3
3:360P,640x360,16:9
4:720P(竖), 720x1280,9:16
5:360P(竖), 360x640,9:16
6:1080P,1920x1080,16:9
7:1080P(竖), 1080x1920,9:16
8:90P(竖),90x160,9:16
9:540P,960x540,16:9
10:540P(竖),540x960,9:16
100:自定义
video_profile_diy
Object
选填
自定义视频宽高、帧率、码率。
当 video_profile_type 为 100 时,才需带上参数 video_profile_diy,传入视频宽高、帧率和码率。格式为:
video_profile_diy:{width,height,frameRate,bitrate}
。enableDesktopAudio
boolean
选填
投屏时是否将声音一并投出(仅限共享 tab),为 true 时表示投声音。
当 publishDevice 的值为 2 时才有效。
initPublish
Array
必填
发布初始化参数
publish_video_id
-
选填
用于展示发布的视频流,根据 media_type 选填。
publish_streamId_id
-
-
label 标签,用于展示 streamId。
publish_tag
-
-
业务自定义
代码示例如下:
// initPublish:Array,必填,发布参数。 initPublish = [ {publish_video_id: "publish_video1", publish_streamId_id: "publish_streamId1", publish_tag: "tag1"}, {publish_video_id: "publish_video2", publish_streamId_id: "publish_streamId2", publish_tag: "tag2"}, {publish_video_id: "publish_video3", publish_streamId_id: "publish_streamId3", publish_tag: "tag3"} ];
回调接口异步返回:
初始化房间成功:
OnInitRoomConfigOK()
初始化房间失败:
OnInitRoomConfigFail(err_code, err_msg)
回调参数
类型
说明
err_code
int
初始化房间失败返回:
-201:房间状态错误
-202:参数错误
-204:E2EE_ikm 为空
-205:自定义分辨率、帧率、码率参数未提供。
err_msg
String
状态信息
CreateRoom
创建房间。
参数:
请求参数
类型
说明
sign
String
验证签名
回调接口异步返回:
创建房间成功:
OnCreateRoomSucc(room_id, rtoken)
回调参数
类型
说明
room_id
String
房间号
rtoken
String
房间 token,相当于房间密码。
创建房间失败:
OnCreateRoomFailed(err_code, err_msg)
回调参数
类型
说明
err_code
int
创建房间失败返回:
-301:房间未初始化
-302:服务器返回错误
-303:创建房间超时
-304:媒体初始化超时
err_msg
String
状态信息
JoinRoom
加入房间。
参数:
请求参数
类型
说明
room_id
String
房间 ID
rtoken
String
房间 token,相当于房间密码。
sign
String
验证签名
回调接口异步返回:
加入房间成功:
OnJoinRoomSucc()
加入房间失败:
OnJoinRoomFailed(err_code, err_msg)
回调参数
类型
说明
err_code
int
加入房间失败返回:
-401:房间未初始化
-402:参数错误
-403:服务器返回错误
-404:加入房间超时
err_msg
String
状态信息
Invite
邀请加入房间。
参数:
请求参数
类型
说明
invitee
String
被邀请方 UID
channelType
int
推送渠道:
0:WEB
1:ALIPAY
extra
String
业务透传字段
回调接口异步返回:
发送邀请加入房间成功:
OnInviteOK()
发送邀请加入房间失败:
OnInviteFail(err_code, err_msg)
回调参数
类型
说明
err_code
int
发送邀请加入房间失败返回:
-501:房间状态错误
-502:服务器返回错误
-503:参数错误
err_msg
String
状态信息
ReplyInvite
回复邀请加入房间。
参数:
请求参数
类型
说明
roomId
String
房间 ID
inviter
String
邀请方 UID
reply
int
邀请回复:
0:接听
2:拒绝
回调接口异步返回:
向邀请方发送答复加入房间成功:
OnReplyInviteOK()
向邀请方发送答复加入房间失败:
OnReplyInviteFail(err_code, err_msg)
回调参数
类型
说明
err_code
int
向邀请方发送答复加入房间失败返回:
-601:房间状态错误
-602:服务器返回错误
err_msg
String
状态信息
LeaveRoom
退出房间。
参数:无。
回调接口异步返回:
OnLeaveRoom(leaveType)
回调参数
类型
说明
leaveType
int
退出房间类型:
1:正常退出
2:异常退出
3:被踢出房间
Publish
手动发布媒体流。
参数:
请求参数
类型
是否必填
说明
media_type
int
必填
音视频类型:
1:音视频
2:纯音频
3:纯视频
publish_bitrate
int
选填
发布最大码率,默认为 600Kbps。
publish_device
int
必填
发布类型:
1:摄像头
2:共享桌面
3:发布文件(图片和视频)
4:发布自定义页面区域
5:发布自定义推流
video_profile_type
int
选填
本地视频清晰度档位:
1:720P,1280x720,16:9
2:VGA,640x480,4:3
3:360P,640x360,16:9
4:720P(竖), 720x1280,9:16
5:360P(竖), 360x640,9:16
6:1080P,1920x1080,16:9
7:1080P(竖), 1080x1920,9:16
8:90P(竖),90x160,9:16
9:540P,960x540,16:9
10:540P(竖),540x960,9:16
100:自定义
video_profile_diy
Object
选填
自定义视频宽高、帧率、码率。
当 video_profile_type 为 100 时,才需带上参数 video_profile_diy,传入视频宽高、帧率和码率。格式为:
video_profile_diy:{width,height,frameRate,bitrate}
。publish_video_id
-
选填
根据 media_type 选填。用于展示发布的视频流
publish_streamId_id
-
-
用于展示流 ID
publish_tag
String
-
业务指定 tag
need_volume_analyser
boolean
-
是否需要实时音量值,默认为 false。
enableDesktopAudio
boolean
选填
投屏时是否将声音一并投出(仅限共享 tab),为 true 时表示投声音。
当 publishDevice 的值为 2 时才有效。
file
file
选填
为图片或视频文件,格式示例:
let file = document.getElementById('file').files[0];
publish_device 值为 3 时必填。
part_of_screen_id
String
选填
需要共享区域的 div 的 ID 值,格式示例:
<div id="part_of_screen_id"></div>
publish_device 值为 4 时必填。
stream
String
选填
媒体流,publish_device 值为 5 时必填。
当 publish_device 值为 1 时,需要配置以下参数:
请求参数
类型
是否必填
说明
videoSource
String
选填
摄像头的设备 ID,用于发布指定摄像头。
audioSource
String
选填
麦克风的设备 ID,用于发布指定麦克风。
aspectRatioStrongDepend
boolean
-
默认为 false,是否强制指定视频横纵比。
aspectRatio
String
选填
视频横纵比:
1 表示 4:3
2 表示 16:9
重要aspectRatioStrongDepend 的值为 true 时必填。
degradationType
int
选填
流畅度优先或清晰度优先:
1:流畅度优先(默认)
2:清晰度优先
publish_bitrate
int
选填
发布媒体流的最大码率,默认为 600Kbps。
enableAudio
boolean
非必填
enableVideo 也同时未填时,都默认为 true。
enableVideo
boolean
非必填
enableAudio 也同时未填时,都默认为 true。
回调接口异步返回:
发布媒体流成功:
OnPublishSucc(sid)
回调参数
类型
说明
sid
int
发布媒体流的 ID
发布媒体流失败:
OnPublishFailed(sid,err_code, err_msg)
回调参数
类型
说明
sid
int
流 ID
err_code
int
发布媒体流失败返回:
-1071:服务器返回错误
-1072:未设置视频标签
-1073:超出发布限额
-1074:发布建立媒体链路连接超时
err_msg
String
状态信息
Subscribe
订阅某路媒体流。config_param
是一个结构体,里面包含如下字段:
参数:
字段名
类型
说明
subscribe_video_id
String
用于展示订阅的视频流
subscribe_audio_id
String
用于展示订阅的音频流
subscribe_streamId_id
String
用于展示订阅的流
feedId_id
String
用于展示 feedId
feedId
String
订阅的流 ID
need_volume_analyser
boolean
默认为 false,是否需要实时音量值。
回调接口异步返回:
订阅媒体流成功:
OnSubscribeSucc(feedId,sid)
回调参数
类型
说明
sid
String
流 ID
feedId
String
流信息
feedId 流信息代码示例如下:
{ "feedId": ["xxx","xxx"], "strategy": 1 } // feedId:list,订阅的流 ID // strategy:int,策略
订阅媒体流失败:
OnSubscribeFailed(sid,err_code, err_msg)
回调参数
类型
说明
sid
String
流 ID
err_code
int
订阅媒体流失败返回:
-1081:服务器返回错误
-1082:视频窗口的 subscribe_video_id 已使用
-1083:超出订阅限额
-1084:订阅建立媒体链路失败
-1085:订阅的窗口 subscribe_video_id 为空
err_msg
String
状态信息
SetLocalAudioEnable
开启或关闭本地麦克风。
参数:
请求参数 |
类型 |
说明 |
enabled |
int |
开启或关闭本地麦克风:
|
sid |
int |
流 ID |
SetLocalVideoEnable
开启或关闭本地摄像头。
参数:
请求参数 |
类型 |
说明 |
enabled |
int |
开启或关闭本地摄像头:
|
sid |
int |
流 ID |
SetLocalCodecType
设置视频编码格式。
参数:
请求参数 |
类型 |
说明 |
type |
String |
视频编码格式:
|
TakePicture
截图。
参数:
请求参数 |
类型 |
说明 |
type |
int |
截图类型:
|
width |
int |
图像宽度 |
height |
int |
图像高度 |
sid |
int |
流 ID |
picture_type |
int |
输出图片格式:
|
StartBrowserRecord
开启浏览器录制(近端录制),指基于浏览器的 native 录制能力进行录制。目前只支持录制两条流,不支持录制点播机器人。
参数:
请求参数
类型
说明
clientRecordId
String
浏览器录制 ID
stream_list
Array
流 ID(sid)
录制配置参数 record_config 使用 JSON 数据格式,相关说明如下表所示。
请求参数
类型
说明
media_type
int
录制选项:
1:音视频
2:纯音频
3:纯视频
time_slice
int
录制 blob 通知间隔时间,默认为 30,单位为分钟。
video_profile
JSON
-
videoCodec
String
支持 H264、VP8、VP9 视频编码格式。
frameRate
int
帧率
record_resolution
String
支持如下视频录制的尺寸大小:
1920 x 1080
1280 x 720
640 x 360
overlaps
Array
支持时间戳水印、文字水印、图片水印,视频相关水印说明如下:
时间戳水印
enable:是否增加水印。
type:1 种水印类型。
id:水印 ID。
xPosition:水印 X 轴起始位置。
yPosition:水印 Y 轴起始位置。
文字水印
enable:是否增加水印。
type:2 种水印类型。
id:水印 ID。
text:水印文字。
fontSize:水印文字大小。
xPosition:水印 X 轴起始位置。
yPosition:水印 Y 轴起始位置。
图片水印
enable:是否增加水印。
type: 3 种水印类型。
id:水印 ID。
img:需要添加的水印图片元素 new image()。
xPosition:水印在 X 轴的起始位置。
yPosition:水印在 Y 轴的起始位置。
回调接口异步返回:
开启浏览器录制成功:
OnClientStartRecordSuccess(clientRecordId)
回调参数
类型
说明
clientRecordId
String
浏览器录制 ID
开启浏览器录制失败:
OnClientStartRecordFailed(clientRecordId, code, msg)
回调参数
类型
说明
clientRecordId
String
浏览器录制 ID
code
int
开启浏览器录制失败返回:
-20301:房间状态不对。
-20302:已经在录制中。
-20303:clientRecordId 已经使用。
-20304:未发布或未订阅。
-20305:media_type 参数错误。
-20306:stream_list 长度错误。
-20307:没有要求录制的视频流或者音频流。
-20308:record_resolution 错误。
msg
String
状态信息
StopRecord
停止浏览器录制,与 StartBrowserRecord 接口配合使用。离开房间之前需要调用此接口,否则无法获取 blob 数据。
参数:
请求参数
类型
说明
clientRecordId
String
浏览器录制 ID
回调接口异步返回:
停止浏览器录制成功:
OnClientStopRecordSuccess(videoURL, clientRecordBlob, clientRecordId)
回调参数
类型
说明
videoURL
String
视频文件的 URL
clientRecordBlob
blob
录制文件
clientRecordId
String
浏览器录制 ID
停止浏览器录制失败:
OnClientStopRecordFailed(clientRecordId, code, msg)
回调参数
类型
说明
clientRecordId
String
浏览器录制 ID
code
int
错误码,-20331 为房间状态错误码
msg
String
状态信息
PauseRecord
暂停浏览器录制,与 ResumeRecord 接口配合使用。
参数:
请求参数
类型
说明
clientRecordId
String
浏览器录制 ID
回调接口异步返回:
暂停浏览器录制成功:
OnClientPauseRecordSuccess(clientRecordId)
回调参数
类型
说明
clientRecordId
String
浏览器录制 ID
暂停浏览器录制失败:
OnClientPauseRecordFailed(clientRecordId, code, msg)
回调参数
类型
说明
clientRecordId
String
浏览器录制 ID
code
int
暂停浏览器录制失败返回:
-20371:房间状态错误
-20372:未开启浏览器录制
msg
String
状态信息
ResumeRecord
继续浏览器录制,与 PauseRecord 接口配合使用。
参数:
请求参数
类型
说明
clientRecordId
String
浏览器录制 ID
回调接口异步返回:
继续浏览器录制成功:
OnClientResumeRecordSuccess(clientRecordId)
回调参数
类型
说明
clientRecordId
String
浏览器录制 ID
继续浏览器录制失败:
OnClientResumeRecordFailed(clientRecordId, code, msg)
回调参数
类型
说明
clientRecordId
String
浏览器录制 ID
code
int
继续浏览器录制失败返回:
-20391:房间状态错误
-20392:未开启浏览器录制
msg
String
状态信息
DownloadRecord
下载浏览器录制音视频,需要在离开房间之前下载。
参数:
请求参数
类型
说明
clientRecordId
String
浏览器录制 ID
fileName
String
指定文件名
回调接口异步返回:
下载浏览器录制文件成功:
OnClientDownloadRecordSuccess(clientRecordId)
回调参数
类型
说明
clientRecordId
String
浏览器录制 ID
下载浏览器录制文件失败:
OnClientDownloadRecordFailed(clientRecordId, code, msg)
回调参数
类型
说明
clientRecordId
String
浏览器录制 ID
code
int
下载浏览器录制文件失败返回:
-20351:房间状态错误
-20352:未开启浏览器录制
-20353:未停止浏览器录制
msg
String
状态信息
StartRemoteRecord
开始服务端录制(远端录制,即在媒体服务器上进行录制),与 StopRemoteRecord 接口配合使用。
参数:
请求参数
类型
是否选填
说明
file_path
String
选填
服务端录制路径
record_param
JSON
选填
录制参数,具体参数见 附录 recordParam。
record_third_id
String
-
录制三方 ID,用于业务方区分调用批次,在启动成功或失败的回调中返回,非必传。
回调接口异步返回:
初始化服务端录制成功:
OnInitRemoteRecordSucc(record_id, record_third_id)
回调参数
类型
说明
recordId
String
录制 ID
record_third_id
String
启动录制时传入的 ID,区分调用批次
启动服务端录制成功:
OnStartRemoteRecordSucc(record_id, record_third_id)
,晚于OnInitRemoteRecordSucc
回调参数
类型
说明
record_id
String
服务端录制 ID
record_third_id
String
启动录制时传入的 ID,区分调用批次
启动服务端录制失败:
OnStartRemoteRecordFailed(record_id, err_code, err_msg, record_third_id)
回调参数
类型
说明
record_id
String
服务端录制 ID
err_code
int
启动服务端录制失败返回:
-10311:服务端返回开启录制失败
-10312:开启录制超时
-10313:推送开启录制失败,eventCode 值为 1
-10314:推送开启录制失败,eventCode 值为 2
err_msg
String
状态信息
record_third_id
String
启动录制时传入的 ID,区分调用批次
StopRemoteRecord
结束服务端录制,与 StartRemoteRecord 接口配合使用。
参数:
请求参数
类型
说明
record_id
String
服务端录制 ID
回调接口异步返回:
停止服务端录制成功:
OnStopRecordSucc(recordId)
回调参数
类型
说明
record_id
String
服务端录制 ID
停止服务端录制失败:
OnStopRecordFailed(recordId,err_code, err_msg)
回调参数
类型
说明
record_id
String
服务端录制 ID
err_code
String
10331(错误码):服务端返回停止失败
err_msg
String
状态信息
GetRecordInfo
获取服务端录制结果。
参数:
请求参数
类型
说明
record_id
String
服务端录制 ID
room_id
String
房间号
media_type
int
文件内容类型:
0:音视频,为默认值
1:纯音频
2:纯视频
sign
String
业务主动提供签名验证。
回调接口异步返回:
获取服务端录制结果成功:
OnRemoteRecordInfoSucc(recordInfo)
说明status 值为 2 时,才会有 fileType 和 filePath。
回调参数
类型
说明
recordInfo
JSON
获取服务端录制结果返回
recordId:服务端录制 ID
status:录制状态
0:录制中
1:上传中
2:录制成功
3:录制失败
fileType:文件类型
1:本地文件
2:OSS
3:AFTS
filePath:文件路径
获取服务端录制结果失败:
OnRemoteRecordInfoFailed(record_id, err_code, err_msg)
回调参数
类型
说明
record_id
String
服务端录制 ID
err_code
int
获取服务端录制结果失败返回:
-10351:连接状态错误
-10352:服务端返回错误
-10353:请求参数错误
err_msg
String
状态信息
UnPublish
取消发布媒体流。
参数:
请求参数
类型
说明
sid
int
发布媒体流的 ID
回调接口异步返回:
取消发布媒体流成功:
OnUnPublishSucc(sid)
回调参数
类型
说明
sid
String
流 ID
UnSubscribe
取消订阅某路媒体流。
参数:
请求参数
类型
说明
sid
int
订阅某路媒体流的 ID
回调接口异步返回:
取消订阅某路媒体流成功:
OnUnSubscribeSucc(sid)
回调参数
类型
说明
sid
String
流 ID
SendTextMsg
发送文本消息。
参数:
请求参数
类型
说明
msg
String
消息文本
participants
Array
发送目标 ID,为空则发给与会其他所有人。
回调接口异步返回:
发送文本消息成功:
OnSendTextMsgSucc(msgId)
回调参数
类型
说明
msgId
int
消息 ID
发送文本消息失败:
OnSendTextMsgFailed(msgId, code, msg)
回调参数
类型
说明
msgId
int
消息 ID
code
int
10291(错误码):服务端返回错误
msg
String
消息文本
SetPublishWeakBitrateLimit
设置发布弱网码率告警下限,在 初始化(InitRoomConfig)时调用此接口。
参数:
请求参数 |
类型 |
说明 |
weak_bitrate |
int |
发布弱网码率告警下限:
|
SetSubscribeWeakBitrateLimit
设置订阅弱网码率告警下限,在 初始化(InitRoomConfig)时调用此接口。
参数:
请求参数 |
类型 |
说明 |
weak_bitrate |
int |
订阅弱网码率告警下限:
|
StartVod()
开始语音点播,仅主站支持。
参数:
请求参数
类型
说明
vodParams
JSON
vodFile:点播的文件名。
vodStartTimeout:开启点播超时的时间,单位为秒,默认为 5 秒。
回调接口异步返回:
开始语音点播成功:
OnStartVodSuccess(file, vod_id)
回调参数
类型
说明
file
String
点播文件
vod_id
String
点播 ID
开始语音点播失败:
OnStartVodFail(file, vod_id, err_code, err_msg)
回调参数
类型
说明
file
String
点播文件
vod_id
String
点播 ID
err_code
int
开始语音点播失败返回:
-10371:服务端返回错误
-10372:房间状态错误
-10373:服务端通知开启失败
-10374:点播参数有误
-10375:开启点播超时
err_msg
String
状态信息
StopVod()
停止语音点播,仅主站支持。
参数:
请求参数
类型
说明
vod_id
String
点播 ID
回调接口异步返回:
停止语音点播成功:
OnStopVodSuccess(vod_id)
回调参数
类型
说明
vod_id
String
点播 ID
停止语音点播失败:
OnStopVodFail(vod_id, err_code, err_msg)
回调参数
类型
说明
vod_id
String
点播 ID
err_code
int
停止语音点播失败返回:
-10391:服务端返回失败
-10392:房间状态错误
-10393:点播 ID 有误
err_msg
String
错误消息
DownloadLog()
日志上报,调用此接口可下载控制台日志到 PC 本机(默认最长 10000 行日志)。
参数:无。
ChangeMediaStream()
自定义切流。录制配置参数 record_config 使用 JSON 数据类型,包含参数如下表所示。
参数:
请求参数
类型
是否必填
说明
publish_device
-
必填
发布类型:
1:摄像头
2:共享桌面
3:发布图片和视频文件
4:发布自定义页面区域
5:发布自定义推流
publish_bitrate
int
选填
发布最大码率,默认为 600Kbps。
media_type
-
必填
音视频类型
sid
-
必填
已发布的流 ID
video_profile_type
-
选填
分辨率,publish_device 值为 1 时,必填。
videoSource
String
选填
摄像头的设备 ID,用于切换指定摄像头。
publish_device 值为 1 时,必填。
audioSource
String
选填
麦克风的设备 ID,用于切换指定麦克风。
publish_device 值为 1 时,必填。
aspectRatioStrongDepend
boolean
选填
默认为 false,是否强制指定横纵比。
publish_device 值为 1 时,必填。
file
-
选填
图片或视频文件。
publish_device 值为 3 时,必填。
part_of_screen_id
-
选填
需要发布的自定义区域。
publish_device 值为 4 时,必填。
stream
-
选填
需要发布自定义推流。
publish_device 值为 5 时,必填。
video_profile_type
int
选填
本地视频清晰度档位:
1:720P,1280x720,16:9
2:VGA,640x480, 4:3
3:360P,640x360,16:9
4:720P(竖),720x1280,9:16
5:360P(竖),360x640, 9:16
6:1080P,1920x1080,16:9
7:1080P(竖),1080x1920,9:16
8:90P(竖)90x160,9:16
9:540P,960x540,16:9
10:540P(竖),540x960,9:16
100:自定义
video_profile_diy
Object
选填
自定义视频宽高、帧率、码率。
当 video_profile_type 为 100 时,才需带上参数 video_profile_diy,里面带入视频宽高,帧率和码率。格式:
video_profile_diy:{width,height,frameRate,bitrate}
。enableAudio
boolean
选填
enableVideo 也同时未填时,都默认为 true。
enableVideo
boolean
选填
enableAudio 也同时未填时,都默认为 true。
回调接口异步返回:
切流成功通知:
OnChangeMediaStreamSuccess(sid)
回调参数
类型
说明
sid
int
流 ID
切流失败通知:
OnChangeMediaStreamFailed(sid,code, msg)
回调参数
类型
说明
sid
int
流 ID
code
int
切流失败通知返回:
-1101:当前 sid 未发布
-1102:切流参数错误
-1104:获取音视频失败
-1105:共享屏幕流为空
-1106:获取视频失败
-1107:获取文件流失败
-1108:获取音频失败
-1109:浏览器不支持音视频
-1110:未提供自定义流
-1111:未提供自定义分辨率等参数
msg
String
状态信息
ChangeProfile()
动态切换(分辨率、摄像头麦克风、横纵比)。录制配置参数 record_config 使用 JSON 数据格式,如下表所示。
参数:
请求参数
类型
是否必填
说明
sid
-
必填
已发布的流 ID
video_profile_type
-
选填
视频的分辨率
local_video_width
-
选填
视频的宽度
local_video_height
-
选填
视频的高度
videoSource
String
选填
摄像头的设备 ID,用于切换指定摄像头。
audioSource
String
选填
麦克风的设备 ID,用于切换指定麦克风。
aspectRatioStrongDepend
boolean
-
默认为 false,是否强制指定视频横纵比。
aspectRatio
String
选填
视频横纵比:
1 表示 4:3
2 表示 16:9
aspectRatioStrongDepend 值为 true 时,必填。
video_profile_type
int
选填
本地视频清晰度的档位:
1:720p,1280x720,16:9
2:VGA,640x480,4:3
3:360P,640x360,16:9
4:720P(竖),720x1280,9:16
5:360P(竖),360x640,9:16
6:1080P,1920x1080,16:9
7:1080P(竖),1080x1920,9:16
8:90P(竖),90x160,9:16
9:540P,960x540,16:9
10:540P(竖),540x960,9:16
100:自定义
video_profile_diy
-
选填
自定义视频宽高,帧率,码率。
当 video_profile_type 为 100 时,才需带上参数 video_profile_diy,将视频宽高,帧率和码率带入其中。格式为:
video_profile_diy:{width,height,frameRate,bitrate}
。回调接口异步返回:
切流成功通知:
OnChangeMediaStreamSuccess(sid)
回调参数
类型
说明
sid
int
流 ID
切流失败通知:
OnChangeMediaStreamFailed(sid,code, msg)
回调参数
类型
说明
sid
int
流 ID
code
int
切流失败通知返回:
-1101:当前 sid 未发布
-1102:切流参数错误
-1104:获取音视频失败
-1105:共享屏幕流为空
-1106:获取视频失败
-1107:获取文件流失败
-1108:获取音频失败
-1109:浏览器不支持音视频
-1110:未提供自定义流
-1111:未提供自定义分辨率等参数
msg
String
状态信息
GetDevices()
获取设备信息。
参数:无。
回调接口异步返回:
获取设备信息成功:
OnGetDevicesSuccess(devicesInfo)
回调参数
类型
说明
devicesInfo
JSON
设备信息
获取设备信息失败:
OnGetDevicesFailed(code, msg)
回调参数
类型
说明
code
int
获取设备信息失败返回:
-30101:浏览器不支持音视频
-30102:获取媒体错误
msg
String
状态信息
PauseRemoteRecord
暂停服务端录制,与 ResumeRemoteRecord 接口配合使用。
参数:
请求参数
类型
说明
record_id
String
服务端录制 ID
回调接口异步返回:
暂停服务端录制成功:
OnPauseRemoteRecordSucc(record_id)
回调参数
类型
说明
record_id
String
服务端录制 ID
暂停服务端录制失败:
OnPauseRemoteRecordFailed(record_id, err_code, err_msg)
回调参数
类型
说明
record_id
String
服务端录制 ID
err_code
int
暂停服务端录制失败返回:
-10341:房间状态错误
-10342:录制状态错误
-10343:服务端错误
err_msg
String
状态信息
ResumeRemoteRecord
恢复服务端录制,与 PauseRemoteRecord 接口配合使用。
参数:
请求参数
类型
说明
record_id
String
服务端录制 ID
回调接口异步返回:
恢复服务端录制成功:
OnResumeRemoteRecordSucc(record_id)
回调参数
类型
说明
record_id
String
服务端录制 ID
恢复服务端录制失败:
OnResumeRemoteRecordFailed(record_id, err_code, err_msg)
回调参数
类型
说明
record_id
String
服务端录制 ID
err_code
int
恢复服务端录制失败返回:
-10361:房间状态错误
-10362:录制状态错误
-10363:服务端错误
err_msg
String
状态信息
ChangeRemoteRecordWatermark
变更服务端录制水印。
参数:
请求参数
类型
说明
record_id
String
服务端录制 ID
overlaps
Jsonarray
见 附录 recordParam 中的
overlaps
。回调接口异步返回:
变更服务端录制水印成功:
OnChangeRemoteRecordWatermarkSucc(record_id)
回调参数
类型
描述
record_id
String
服务端录制 ID
变更服务端录制水印失败:
OnChangeRemoteRecordWatermarkFailed(record_id, err_code, err_msg)
回调参数
类型
说明
record_id
String
服务端录制 ID
err_code
int
状态码
err_msg
String
状态信息
PauseFile
暂停共享音频或视频播放。
参数:
请求参数
类型
说明
sid
int
流 ID
回调接口异步返回:
暂停共享文件成功:
OnPauseFileSuccess
回调参数:无。
暂停共享文件失败:
OnPauseFileFail
回调参数:无。
PlayFile
恢复播放共享音频或视频播放。
参数:
请求参数
类型
说明
sid
int
流 ID
回调接口异步返回:
恢复播放共享文件成功:
OnPlayFileSuccess
回调参数:无。
恢复播放共享文件失败:
OnPlayFileFail
回调参数:无。
ChangeStreamSize
动态修改视频尺寸。
参数:
请求参数
类型
是否必填
说明
sid
int
-
流 ID
video_profile_type
String
选填
本地视频的清晰度档位:
1:720P,1280x720,16:9
2:VGA,640x480,4:3
3:360P,640x360,16:9
4:720P(竖),720x1280,9:16
5:360P(竖),360x640,9:16
6:1080P,1920x1080,16:9
7:1080P(竖),1080x1920,9:16
8:90P(竖),90x160,9:16
9:540P,960x540,16:9
10:540P(竖),540x960,9:16
100:自定义
回调接口异步返回:
修改视频尺寸成功:
OnChangeStreamSizeSuccess(sid, localVideoWidth, localVideoHeight)
请求参数
类型
说明
sid
int
流 ID
localVideoWidth
int
切换后的视频宽度
localVideoHeight
int
切换后的视频高度
修改视频尺寸失败:
OnChangeStreamSizeFail(sid, localVideoWidth, localVideoHeight, errCode, errMsg)
请求参数
类型
说明
sid
int
流 ID
localVideoWidth
int
切换后的视频宽度
localVideoHeight
int
切换后的视频高度
err_code
int
状态码
err_msg
String
状态信息
SendData
通过 DataChannel 发送信息。
参数:
请求参数 |
类型 |
说明 |
data |
String(目前仅支持文本) |
发送文本信息 |