WebRTC常见问题 (FAQ)

发布时间:2018年8月15日 更新时间:2018年8月15日 贡献者:mengyaocui


需要提供的信息:

名称 获取方式 用途
设备的平台及版本号 确认是否是支持的平台
浏览器类型及版本号 查看浏览器帮助或使用navigator.userAgent 确认是否是支持的浏览器
SDK版本号 控制台显示的Version:x.x.x;前端CDN引入时/x.x.x/WebRTCAPI.min.js 确认是否是老版本Bug
sdkAppId 控制台获取,应用名 avmonitor;校验userSig;后台查日志
userId/identifer 一般情况下是用户名 avmonitor;校验userSig;后台查日志
问题产生的时间段 avmonitor;后台查日志
必现还是偶现

1.userSig privateMapKey相关

工具

  1. 查看userSig或privateMapKey有效期的页面:https://sxb.qcloud.com/tools/TLSSigVerify.php
    需要的信息:userSigprivateMapKey

    方法:把userSigprivateMapKey粘贴进去,会显示生成时间,以及有效期(单位为秒)

  2. 使用POSTMAN校验privateMapKey
    需要的信息:userSig, privateMapKey, sdkAppid, identifer, groupId

    方法:把用户的userSig,privateMapKey,sdkAppid,identifer,groupId填到对应的位置后,发起请求 https://official.opensso.tencent-cloud.com/v4/openim/jsonvideoapp?sdkappid=1401234567&identifier=20123456&usersig=eJxVjl1vgjAYhf9Lb12Wflg****&random=9999&contenttype=json

body:
{
  "ReqHead": {
    "Cmd": 1,
    "SeqNo": 1,
    "BusType": 7,
    "GroupId": 123
  },
  "ReqBody": {
    "PrivMapEncrypt": "****",
    "TerminalType": 1,
    "FromType": 3,
    "SdkVersion": 26280566
  }
}

调用 SDK 的 cgi

业务后台实现,关于userSig参考:https://cloud.tencent.com/document/product/647/17275

进入房间报错

关键词:userSigprivateMapKey

  • 错误信息:87 priv map info tls error
    按文档下载公私钥,生成userSigprivateMapKey,注意各个参数是否正确:https://cloud.tencent.com/document/product/647/17275

  • 错误信息:86 priv map tls timeout

    1. 查看userSigprivateMapKey是不是过期,生成时设置了有效期,默认300s;
    2. 86 错误是因为网络的原因,切换网络 ;
    3. 房间号过长,应在 32位 无符号整型范围内,最好在 1 到 10000000 之间;
    4. 服务器时间不正确,导致服务器认为的有效时间与真实有效时间不一致。

2.黑屏/没上行/没下行/听不到声音/看不到画面

工具

http://avq.server.com/reportapp/
需要的信息:
sdkappid, identifer/tiny_id,时间段。
使用方法:
填入sdkappid, identifer/tiny_id,选择是否云上环境,选是否tiny_id,选择时间段,查询。

本地视频流黑屏

关键词:黑屏,10008,local stream failed

错误信息:10008 get local stream failed(点开报错,其中包含更多的信息,可以帮助判断)

解决方法:

  1. not found error - 确定设备有音视频输入设备;
  2. 确认使用的平台正确,通过https://sxb.qcloud.com/webrtc-samples/abilitytest/index.html进行能力测试 ;
  3. security error - 使用 https 或 localhost 方式打开页面,不能直接打开本地 *.index 文件,出于安全考虑 WebRTC 只允许在 https 或 localhost 下访问,如果测试的话可以搭建本地服务;
  4. 其他错误信息对应的问题见:https://cloud.tencent.com/document/product/647/17017

3.平台兼容问题

工具

  1. 是否是H5支持的平台:https://cloud.tencent.com/document/product/647/16863
  2. 能力检测能否通过:https://sxb.qcloud.com/webrtc-samples/abilitytest/index.html

xxx浏览器下能不能用

H5支持的平台:https://cloud.tencent.com/document/product/647/16863

Android手机Chrome浏览器视频黑屏

关键词:Chrome,黑屏

需要支持H.264,不支持的手机会出现黑屏,建议使用微信或QQ内置TBS浏览器。

Android手机微信或者QQ内置浏览器能不能用,怎么安装

关键词:Android手机,QQ浏览器

若是TBS,且版本高于43600可以用,确认(或安装)方法:微信或者QQ内打开http://debugx5.qq.com

TBS之前能用后来不能用了

打开http://debugx5.qq.com确认是否是TBS浏览器;若确认TBS损坏,可重新安装qq或微信,恢复TBS。

Safari纯观看模式黑屏

关键词:Safari,观看,黑屏

iOS不允许自动播放带声音的视频,远端视频流无法自动播放。需要在onRemoteStreamUpdate事件处理函数中,将远端流绑定到<video>标签后,加上video.play()

Mac下同时开启实时音视频和音乐播放器,系统声音变小

关键词:Mac,声音变小

此问题为Mac的音量自动调整机制导致,可查看 https://support.apple.com/kb/PH25370?viewlocale=zh_CN&locale=zh_CN


4.APP Web互通相关问题

云上自研环境不互通

查看https://docs.qq.com/doc/B5Ledj3xeJMu1TwYeX0mFhAQ4K2jkY0FqvMU09AFGo2G46Bv35xJM93i9HhH37HQko0YrVJr3

Web端创建房间,Android端进入时提示群组不存在

此问题原因在于 Web 端没有创建 IM 群组,如果不需要聊天功能,可以在 Android 端配置 imsupportfalse


5.套餐购买/白名单开通

创建房间时报错

报错信息: no pay for qcloud error

  1. 没有购买套餐包,服务开通指南:https://cloud.tencent.com/document/product/647/17195
  2. 刚购买,白名单需要两小时后生效。

6.啸叫

有尖锐的噪声

  1. 本地 <video>/<audio> 标签加入muted属性;

  2. 两台设备物理距离过近时会出现不可避免的物理啸叫,此现象为正常现象,实际应用中通常不会出现这种场景。


7.TRTC控制台

控制台启用旁路直播自动录制无法开启,响应是系统繁忙。

接口逻辑问题,确认客户已开通直播和点播功能,确认都开启后采用直播码方式接入直播,https://console.qcloud.com/live/livecodemanage,接入后再尝试设置旁路直播自动录制。

控制台看不到房间列表,直播控制台可以看到

已知问题,当前控制台信息不准,仅供参考。

控制台房间列表里通话ID是 TLS#NOT_FOUND

已知问题,云上环境后控制台数据显示有误,不影响使用。

控制台角色设置始终显示高清

已知问题,可暂时用自定义设置角色规避。


8.角色相关

怎么设置流的分辨率,码率,帧率

角色:https://cloud.tencent.com/document/product/647/17230

能不能控制横竖屏

横竖屏显示需要由开发者自行实现。


9.支持的功能

怎么实现视频邀请或接收功能,用户间怎么发通知

开发者可以结合 IMSDK 来实现,参考Demo:https://sxb.qcloud.com/webrtc-samples/invite/index.html

小程序和 WebRTC 是否支持,美颜、美白,动效、变声、预览、播片功能

小程序里面<webrtc-room>支持美颜和美白 ,其他不支持,WebRTC 这些都不支持。

WebRTC能采集系统声音,播放音乐吗

不能,WebRTC 没有采集系统声音的接口。


10.关于直播,录制,点播混流等后续功能

channel_id是什么

直播码模式的channel_id是直播码
直播码的计算可以看下旁路直播的文档 https://cloud.tencent.com/document/product/647/16826

录制只能自动录制吗?开自动录制要先开旁路直播吗?

Web只能自动录制,录制的是旁路直播的流。

怎么录制,录制完的怎么观看,录制怎么收费

查看https://cloud.tencent.com/document/product/647/16823

怎么混流

查看https://cloud.tencent.com/document/product/647/16827

results matching ""

    No results matching ""