You need to enable JavaScript to run this app.
导航
特效相关
最近更新时间:2025.03.25 18:26:46首次发布时间:2022.02.25 17:16:51
我的收藏
有用
有用
无用
无用
1.特效设置后完全没有效果

答:建议按以下步骤排查下

  • 请确认特效句柄初始化、授权是否成功

  • 检查素材包与license是否配套,测试版和正式版不可混用

  • 如果初始化成功,请检查设置的美颜素材路径对应的文件是否存在,注意指定素材需要到bundle下的子文件夹

    • 检测素材路径是否正确设置
2.设置了Reshape之后,瘦脸大脸没有效果

答:建议按以下步骤排查下

  • 请确认特效句柄初始化是否成功

  • 如果初始化成功,请检查设置的形变素材路径对应的文件是否存在,注意指定素材需要到bundle下的子文件夹

  • 瘦脸大眼算法依赖人脸检测模型,请检查人脸检测模型是否存在,并且在特效句柄初始化的时候,我们需要传入modelDir,这个目录下的目录结构和文件名称必须和Demo中我们resource.zip中的model目录一致。
    image.png

  • 如果设置的路径正确,请确保init接口传入的纹理的宽高正确

下载.png

  • 如果输入纹理的宽高正确,请检查process时传入的角度是否正确
public boolean process(
 	int srcTextureId, 
 	int dstTextureId, 
 	int width, int height,
 	BytedEffectConstants.Rotation rotation,
 	double timestamp)

因为Android相机默认输出的图像存在90度或270度逆时针旋转,同时需要兼顾手机自身的旋转角度,我们建议参考我们Demo中的做法,首先将相机输出的图像转正(转正是指使图像中的人脸为正,并且后置摄像头时候不存在左右镜像),然后使用手机的重力传感器方向作为我们算法检测的输入方向。

3.贴纸设置后完全没有效果

答:建议按以下步骤排查下

  • 请确认特效句柄初始化是否成功
  • 如果初始化成功,请检查设置的贴纸素材路径对应的文件是否存在
  • 检查人脸检测模型和人手、人体检测模型文件是否存在,并且在特效句柄初始化的时候,我们需要传入modelDir,这个目录下的目录结构和文件名称必须和resource.zip保持一致。
  • 确保授权文件有效并且和贴纸素材是匹配的,如果把我们的Demo中的测试素材和正式版授权文件组合使用,将出现贴纸不能正常工作的情况,可以检查EffectSDK标记的日志确认。
4.贴纸设置后,只出现部分前景,没有人脸道具

答:该问题和问题2可能原因相同,都是没有检测到人脸导致的,可以先按照问题3的排查步骤排查。

5.iOS端调用processTexure后黑屏

答:如果使用GPUImage框架,在processtexture之后增加如下两行代码

glEnableVertexAttribArray(0);
glEnableVertexAttribArray(1);

如果确认不是上述问题引起,可以按如下步骤排查

  • 是否有正确的EAGL运行环境
  • 输入纹理是否正确,通过xcode抓帧工具看纹理可以分析
  • 输入纹理确认正确后,输出纹理是否有效果,这个也可以通过xcode抓帧工具看纹理可以分析
  • 输出纹理的处理,这个可以将问题转换为UIimage,然后显示可以看到
6.Android平台如果项目中没有使用GlSurfaceView,导致没有gl上下文,可以支持特效处理吗?

答:GlSurfaceView是Android官方提供的封装了gl上下文的渲染方案,我们建议使用GlSurfaceView完成渲染。

7.ios端屏幕预览正常,但memcpy出来的图像变蓝了?

答:ios相机默认输出的图像编码格式是BGRA,请注意通道的编码顺序。

8.设置素材的接口和process接口都返回true,但没有出现对应的特效?

答:这种情况有可能是输入图像和参数不正确,导致底层的人脸、手势等检测算法没能检测出人脸、人手,会出现瘦脸、大眼或者面具没有生效的情况,建议打印输入图像,检查输入参数。

9.直播推流后,带文字的贴纸,文字是反的

答:直播场景中,为了符合人的视觉效果,主播侧和观众侧看到的图像是存在镜像关系的,如果使用带文字的贴纸,始终会有一端看到的文字有镜像的,解决的办法是不要在直播中使用带文字的贴纸。

10.贴纸、大眼、瘦脸等特效已经出来了,但很容易丢失

答:请检查输入图像及输入角度,确保输入图经过该角度的顺时针旋转之后人脸是正的。

11.Undefine symbols __isPlatformVersionAtLeast

1.jpeg
答:使用的Xcode版本过低,我们建议Xcode版本不低于11,请更新升级Xcode版本。该报错具体原因可查看:Undefine symbols __isPlatformVersionAtLeast

12.EffectSDK ERROR: Parser: cJson parse fail

image.png
答:EffectSDK ERROR: Parser: cJson parse fail 出现这个报错一般是素材与license绑定的BundleID/ApplicationID不匹配(每套素材都会与其授权绑定,需配套使用),请检查使用的素材与授权是否配套。

13.ERROR: FileUtil: readFile: file ……… xxx.config.json is not exist

image.png
答:出现上述日志,表示设置的素材路径可能不正确,SDK内部没有正确读到素材的配置文件,请检查素材路径是否正确。

14.安卓混淆

V4.4.3版本之前

-keep class com.bytedance.labcv.effectsdk.** {*;}
-keep class com.bef.effectsdk.** {*;} 
-keep class com.bytedance.labcv.licenselibrary.** {*;}
-keep class com.amazing.** {*;}

V4.4.3版本及之后

-keep class com.effectsar.labcv.effectsdk.** {*;}
-keep class com.bef.effectsdk.** {*;} 
-keep class com.effectsar.labcv.licenselibrary.** {*;}
-keep class com.amazing.** {*;}
15.特效不跟随,尤其美妆美型等动起来不是紧紧跟随脸

答:这种情况通常出现在iOS端。 可以查看BEEffectManager中的setUse3buffer或者use3buffer,如果出现不跟随的情况,需要在initTask()中将它的值置为false,关闭3buffer

16.序列帧特效播放速度过快,或者停在第一帧不动

答:这种现象往往和timeStamp有关,如果是序列帧特效,process方法中传入的timeStamp必须设置为如下的系统时间。 安卓端:传入的timeStamp可以设置为System.nanoTime(); iOS端:传入的timeStamp可以设置为[NSDate date].timeIntervalSince1970