You need to enable JavaScript to run this app.
导航
Debug 工具
最近更新时间:2025.02.06 11:47:56首次发布时间:2022.09.28 16:49:17

本文包含 Debug 工具的介绍和接入说明等内容。

Debug 工具介绍

为提升接入和调试效率,点播 SDK 提供 Debug 工具,方便您在接入点播 SDK 的过程中更为直观地查看 SDK 相关信息。如下图所示,Debug 工具包含播放日志、视频信息、初始化信息 3 个不同的页签。具体信息介绍请见附录
Image

前提条件

您已接入点播 SDK 1.32.1.5 或以上版本。点播 SDK 版本号详见发布历史

注意事项

  • App 发布前,务必检查确认不要将 Debug 工具带到线上,需要去除 ttvideoengine-debugtool 库依赖。
  • 单击保存信息按钮后,Debug 信息会保存在 /data/user/0/包名/files/engine_debug_info/debug_info.log 文件中。

操作步骤

步骤 1:添加依赖

使用 Debug 工具进行调试时,需要添加依赖。示例代码如下:

dependencies {
    ...
    debugImplementation "com.bytedanceapi:ttvideoengine-debugtool:0.3.0.2" 
}

步骤 2:设置显示布局

在调用 engine 播放之前,设置显示布局。

  1. 您可根据自身业务需求,自定义创建 Debug 信息显示布局,通过 setContainerView 设置给 Debug 工具。
  2. 设置布局完成后,Debug 工具会监听哪个 Engine 实例调用了 play,之后将相关信息显示到布局。

示例代码如下:

FrameLayout debugLayer = findViewById(R.id.fl_debugtool);
DebugTool.setContainerView(debugLayer);

步骤 3:释放资源

完成 Debug 工具使用时,您可调用 release() 方法释放资源。示例代码如下:

DebugTool.release();

API 参考

public class DebugTool { 

    // 添加展示 debug 信息的布局,debug 信息页面撑满 containerView
    // 需要在调用 Engine 播放之前设置,
    // 设置布局后,Debug 工具会监听哪个 Engine 实例调用了 play,并将相关信息显示到布局。
    public static void setContainerView(ViewGroup containerView);
    
    // 完成 Debug 工具使用时,您可调用release()方法释放资源
    public static void release();
    
    //  通常情况下 Debug 工具会自动监听哪个 Engine 实例调用了 play,显示该 Engine 的信息;
    // 多个 Engine 实例同时存在时,您可主动设置 Engine 实例选择显示哪个 Engine 实例的信息。
    public static void setTTVideoEngine(TTVideoEngineInterface engine);

}

更多信息

播放日志字段说明

一级

二级

Value/说明

播放状态

播放状态

展示视频的播放状态。仅播放失败时,才显示该字段。不同的播放状态如下所示。

  • 播放中
  • 暂停
  • 播放成功
  • 播放失败

Error 信息

若视频播放失败,展示详细的错误信息,可根据该字段排查播放失败原因。

Engine 配置

Texturerender

用于判断 Texturerender 的开启情况。例如:true/false。仅 Android 端支持该参数。

Sdk 日志

用于判断 Sdk 日志的开启情况。例如:true/false

Player 日志

用于判断 Player 日志的开启情况。例如:true/false

硬解异步初始化

用于判断是否开启硬解异步初始化。例如:true/false。仅 Android 端支持该参数。

Socket 复用

用于判断是否开启 Socket 复用。例如:true/false

渲染方式

用于判断当前使用的渲染方式,例如:

  • iOS:OpenGl/Mental
  • Android:MediaCodec

首帧信息

首帧时长

展示当前正在播放的视频的首帧时长,下方几个字段可以详细分析例如:82ms

开始播放

开始播放的时间戳。例如:2022-08-02 17:47:55 827

收到视频首帧

收到视频首帧的时间戳。例如:2022-08-02 17:47:55 827

视频首帧解码

视频首帧解码的时间戳。例如:2022-08-02 17:47:55 827

收到音频首帧

收到音频首帧的时间戳。例如:2022-08-02 17:47:55 827

音频首帧解码

音频首帧解码的时间戳。例如:2022-08-02 17:47:55 827

首帧展示

首帧真正展示的时间戳。例如:2022-08-02 17:47:55 827。 仅 Android 端支持该参数。

其他

命中缓存

当前播放的视频是否命中缓存。例如:true/false

缓存 key

缓存 Key 值,用于标识唯一资源。

缓存大小

当前播放的视频命中的缓存大小。例如:50KB

设备支持 H.265 硬解

当前播放视频的设备是否支持 H.265 硬解。例如:true/false

视频硬解

当前播放视频是否是通过硬解播放。例如:true/false

网络类型

当前播放视频的设备的网络类型。例如:3G/4G/WIFI

Client IP

当前的 IP 地址。例如:10.78.142.123

视频信息字段说明

一级

二级

Value/说明

视频基础信息

播放源

当前播放的视频源信息。

是否转码流

当前正在播放的视频是否是火山引擎转码后的视频流。仅 iOS 端支持该参数。

视频格式

当前播放的视频格式。例如:mp4

编码格式

当前播放的视频编码格式。例如:H.265

视频宽高

当前播放的视频尺寸。例如:720x1080

视频时长

当前播放的视频时长。例如:60.1s

文件大小

当前播放的文件大小。例如:344KB

加密类型

当前播放的视频是否加密。例如:true/false

FPS

当前播放的 FPS。例如:15

初始化信息字段说明

一级

二级

Value/说明

SDK 版本

TTSDK 版本

集成的 TTSDK 版本。例如:1.32.2.1

Engine 版本

集成的 Engine 版本。例如:1.10.92.101-premium

Player 版本

集成的 Player 版本。例如:2.10.92.101-lls-share- vc2

MDL 版本

集成的 MDL 版本。例如:1.1.92.11

AppLog 版本

集成的 AppLog 版本。例如:6.10.1

License 信息

校验结果

展示当前使用的 License 的校验结果。例如:成功/失败/过期

License id

展示当前使用的 License id

版本

展示当前使用的 License 版本。例如:premium_editon(高级版)

类型

展示当前使用的 License 类型。例如:正式版/测试版

注意

测试版的 License 在线上版本不能使用。

增值服务

展示当前使用的 License 所关联的增值服务。例如:H.265

截止日期

展示当前使用的 License 的截止日期。例如:2022/10/20 12:44

MDL 信息

初始化

用于判断初始化数据缓存模块是否成功。例如:成功/失败

缓存路径

当前设置的数据缓存的路径。

缓存大小限制

当前设置的数据缓存大小。例如:100MB

AppLog 信息

是否集成

用于判断是否集成 AppLog。例如:true/false

App id

展示当前设置的 App id,用于校验数据正确性。需要从控制台>点播 SDK获取,如果不一致,需要修正。

Device id

展示当前设备的 Device id,唯一设备标识。

渠道

展示当前设置的渠道标识。

设备信息

展示当前播放视频的设备信息。