有奖捉虫:云通信与企业服务文档专题,速来> HOT

现象描述

发起混流时,提醒报错:InvalidParameter.OtherError

可能原因

混流输入源流的分辨率超过2000。
某条流同时混流并发超过20路。
账号是频道模式,却使用创建通用混流接口。

解决思路

根据对应的子错误码,进行相应处理,下面列出一些常见错误的处理方法。

报错1:"Message":"InnerErrCode : [ -10021 ],IrnerErrMsg: [ Params Error ]"

目前混流后台暂此支持2000及以下的分辨率,遇到 -10021 报错时,一般是混流输入某条流分辨率宽或高超过2000。
1. 使用 FFplay 播放直播流,查看源流分辨率,如下图是 1920*1080,不会触发限制。 使用命令:ffplay -i "播放地址"


2. 使用 VLC 工具播放
打开VLC > 媒体 > 打开网络串流 > 网络,输入地址后确认就会进行拉取网络直播流。
您可打开工具 > 媒体信息 > 编解码器查看直播流分辨率。




报错2:"Message":"InnerErrCode:[ -41 ],InnerErrMsg: [ ]"

目前混流后台暂仅支持同一条流并发混流路数小于20路,一般只有在多主播带货的时候,才需要在同一时间使用同一路流多次作为混流会话 session 的输入。
此类问题大部分是因为创建了混流会话 session,不需要混流后没做取消操作,直接下播,导致某个流 ID 被多混流会话 session 共同使用。
腾讯云云直播混流,若非背景流断开,断掉的流画面会停在最后一帧显示在混流的画面上面,我们需要调用取消通用混流接口才能取消掉停留在画面的最后一帧。背景流断开,则整个画面都会卡住。
若在15分钟内该流以同一流 ID 重新推流成功,则自动恢复混流。
若两条流都断开,15分钟后混流会自动取消。

报错3:"Message":"InnerErrCode:[ -4 ],InnerErrMsg: [ get liveconfig failed! ]"

此报错为您使用旧版本控制台的账号(频道模式),并在客户服务端调用了新版的云直播 API 3.0 直播混流接口 时报的错误。
您可将 云直播控制台升级 到新版本(直播码模式),即可解决报错问题。

报错4:"Message":"input stream num is not match the template id!"

这个报错是因为使用了腾讯提供的默认混流模板,但是混流输出流跟模板要求不一致,导致报错。 例如:使用10模板,需要两个输入源;使用390模板,需要三个输入源,可以是两个音视频流 + 一个背景画布
详细的参数设置说明和实践操作,请参见 创建通用混流 > MixStreamTemplateId 接口

报错5:"Message":"InnerErrCode:[ -300 ],InnerErrMsg: [ outputstreamid not avaliable, outputstreamid alread use as background in other sessionid ]"

这是因为有混流会话 sessionA,使用了 streamA 作为背景 + 输出流,在后发起的混流会话 sessionB。如果输出流也输出 streamA 流,就会出现这个错误。
建议在后面再次发起的混流会话 sessionB 中,将需要输出的 OutputStreamName 的流名称sessionA 会话 ID 的输出流名称设置为不相同的流名称

报错6:"Message":"InnerErrCode:[ -2 ],InnerErrMsg: [ small picture out of the background ]"

这是小画面大于背景图层,例如背景是 1920*1080 分辨率的画布,小画面宽高分辨为 1280*720,如果偏移 X(LocationX)+ 1280 >1920 或者偏移 Y(LocationY)+ 720 >1080,就会报错上面这个错误。
输出画面的 X 偏移,参数配置建议请参见 通用混流布局参数 > LocationX
输出画面的 Y 偏移,参数配置建议请参见 通用混流布局参数 > LocationY
更多云端混流模板使用示例,请参见 云端混流

报错7:"Message":"InnerErrCode:[ -111 ],InnerErrMsg: [ output_stream_type is [0],but output_stream_id xxxxx is not in input stream list ]"

这是因为您设置的混流参数中,OutputStreamType 默认取值为0,而实际上输出的流 ID 名称并不在您输入的流名称列表里面,从而导致的报错。 您需要注意 :
若您输入的 OutputStreamType 参数为0,或没有输入参数值时,您需要在输出 OutputStreamName 参数中设置为输入的流名称的其中一个。
如果您期望生成的混流 OutputStreamName 流名称是一条新流时,需要设置 OutputStreamType 参数为1。
OutputStreamType 参数设置为1时,OutputStreamName 不能出现在 InputStreamList 中,并且直播后台中,不能存在相同 ID 的流。