有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
在使用 Web 美颜特效的过程中,您可能会遇见以下问题,可以参考本文的解答。

在 Chrome 中运行 Demo 发现画面颠倒且卡顿

SDK 使用 GPU 进行加速,您需要在浏览器设置中找到使用硬件加速模式并启用。

现在有一个 Web 端推流直播应用,能否使用 Web 美颜特效 SDK 来美化推流画面?

可以,SDK 可以作为一个中间渲染处理器,支持多种输入和输出源,您可以参考 结合快直播推流 以及 结合 TRTC 推流 轻松扩展您的线上应用,快速实现美颜特效功能。

我的签名服务会不会被频繁调用?

不会,SDK 内部针对签名有缓存机制,您也可以在自己的 getSignature 方法中自定义返回逻辑,只要符合方法签名即可。

控制台 - 制作工具中预览的效果和实际调用 SDK 时是否会有出入?

不会,SDK 使用时的渲染结果和您在制作工具中预览的效果一致,即制作时期望的预览效果即您实际生产环境中的效果。

如何使用 localhost 本地开发?

可以通过创建测试 License,Domain 中指定 localhost 及端口号(限制端口)。
或者购买正式版 License,正式版有效期内可以使用 localhost 本地开发(不限制端口)。

快直播推流失败,打开浏览器 console 看到提示“streamurl authentication failed”?

一般是因为签名已过期,请重新计算直播推流签名,推流 URL 拼装方法请参见 自主拼装直播 URL

getEffectList 拉取素材资源时报错是什么原因?

一般是调用时机错误导致的报错,注意在 SDK created 回调或之后调用 getEffectList,此时就可以根据素材数据完成业务交互逻辑,具体使用案例请参见 最佳实践文档

Web 接入 SDK 的内置相机后,预览视频效果时出现回音?

当本地预览开启了声音并且外放时,播放的声音会被麦克风采集作为内置相机的声音源,则会造成回音问题,解决方案将预览的 video 静音。
const output = await sdk.getOutput()
const video = document.createElement('video')
document.body.appendChild(video)

video.setAttribute('muted', '')
video.volume = 0
video.srcObject = output

SDK 提示鉴权失败,接口返回401?

SDK 内部会通过参数透传的 getSignature 方法请求签名并向后台进行鉴权,当签名的时间戳过期会自动重试一次,重试失败则抛错并拦截后续的所有流程。开发者可以检查 getSignature 的逻辑,查看是否时间戳过期(5分钟有效)或者签名生成逻辑不正确。

小程序目前都支持哪些能力?

截止 SDK 0.3.0版本,小程序支持美颜、美妆、滤镜、贴纸、3D特效等功能、虚拟背景,Animoji 表情及虚拟形象能力暂不支持,后续得到支持后会第一时间通知您。

小程序3D特效不生效?

确保正确加载了 plugin3d 模块,并且使用的是测试 License 或者高级版正式 License。
// 按需初始化3d插件,如果不需要3d则可以不引用
import '../../miniprogram_npm/tencentcloud-webar/lib-3d.js';
import { plugin3d } from '../../miniprogram_npm/tencentcloud-webar/plugin-3d';
……

const sdk = new ArSdk({
camera: {
width: 720,
height: 1280,
},
output: canvas,
……
plugin3d // 初始化传递给sdk
});