********************* JavaScript 常见问题 ********************* .. topic:: 1. SDK 支持哪些视频编解码器? 解答:SDK 视频编解码器支持VP8、VP9、H264。其中VP8是默认解码器。H264需要在Chorme52+环境下支持。 .. topic:: 2. SDK 支持哪些音频编解码器? 解答:SDK音频编解码器支持opus、ISAC、G722、PCMU。 .. topic:: 3. 旁路直播时,Chrome浏览器可以作为直播推流端吗? 解答:可以的。提前是视频编解码器需要设置成H264,且在Chorme52+环境下运行。 .. topic:: 4. 浏览器对SDK支持情况? 解答:浏览器webrtc兼容性测试见下表: .. image:: ../static/BrowserDetect.jpg .. Note:: 叁体Open-AVD SDK可以支持所有浏览器,不同浏览器支持方式不同,兼容webrtc的浏览器可直接支持,不兼容webrtc的浏览器可用各种插件支持。 所有不兼容webrtc的浏览器,都可以采取开发专用插件的方式来获得音视频通讯能力,并能和webrtc兼容浏览器互通,叁体提供C++接口的方式来进行支持。 也可以直接开发一个windows本地客户端来进行支持。 .. topic:: 5. IE浏览器上可以运行叁体SDK,进行音视频互动吗? 解答:IE浏览器本身不支持webrtc,没有提供音视频的能力。叁体开发了IE插件,可以让IE与其它平台音视频互通,提前是IE10+;针对IE10-,我们建议采用C++ SDK,做ie ocx插件的形式集成。 .. topic:: 6. 日志级别及显示方式怎么设置? 解答:设置代码如下: .. code-block:: html avdEngine.setLog(Appender.browserConsole, LogLevel.debug); .. Note:: Appender.browserConsole是指显示方式,LogLevel.debug是指日志级别,这二个参数可以进行枚举选择; 开发集成时日志级别建议设置成debug,便于问题定位跟踪。生产环境上线,建议设置成info及以上级别。 .. topic:: 7. 本地有回音问题,是什么原因,怎么解决? 解答:本地audio标签中,必须设置muted这个属性,否则会有回音。 .. topic:: 8. 获取语音设备接口,目前只有麦克风, 能不能获取扬声器? 解答:目前SDK还没有提供获取扬声器的接口,后继版本会提供。 .. topic:: 9. 设备接口中返回的设备名称在http/https访问下显示不一样,原因是什么? 解答:关于设备名称, chrome在https访问下可以正常返回真实名,在http访问下,返回空仠,因此SDK设置成cameraX或microphoneX返回。 .. topic:: 10. SDK有没有提供用户角色功能,且怎么动态修改角色? 解答:SDK没有提供角色接口,需要应用层自己实现。但SDK提供了透明通道接口,用户扩展接口,应用层的角色可以通过这二个接口带入。 .. topic:: 11. 控制台报如下错误,是什么原因引起的? 错误信息: .. code-block:: html INFO- oniceconnectionstatechange(),MCU iceConnectionState:failed ERROR-Create MCU PeerConnection failed. 解答:udp端口没有开放或防火墙没有开通 udp,默认要求的udp端口为8080,客户可以自己配置。 .. topic:: 12. 为什么需要数字证书,怎么申请免费的数字证书? 解答:Chrome47+浏览器在打开音视频设备时,要求有部署数字证书,以https访问。关于申请免费的数字证书,可以参考开发者中心/服务器安装指南/HTTPS/SSL免费申请参考说明 .. topic:: 13. 访问令牌网页端产生可以吗? 解答:基于安全考虑,不建议在网页端产生,叁体提供了JAVA、PHP的样例代码,希望客户在服务器端生成。样例代码见:github .. topic:: 14. 桌面共享需要安装插件吗?插件怎么写成?应用有什么限制? 解答:桌面共享需要安装chrome插件。叁体会提供播件的源码,客户只需要设置自己的域名及logo,通过chrome打包成crx,最好上传到google网上商店; .. topic:: 15. 网络状况不好时,叁体JS SDK有重连机制吗? 解答:SDK有重连机制的。过程是当网络状况不好有抖动时,ice 状态会向上汇报,webrtc的PeerConnection 会自己进行重连。抖动严重时,与服务器之间ping包丢包多次后,SDK 会触发与服务器重连机制,但重连时长超过10秒,客户端会被服务器踢掉。客户端会上报错误提示,客户需要手动去重新加会。