You need to enable JavaScript to run this app.
导航

接入 Debug 工具

最近更新时间2023.10.11 18:55:48

首次发布时间2022.09.28 16:49:17

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

Debug 工具介绍

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

alt

前提条件

您已接入点播 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.1" 
}

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,唯一设备标识。
渠道展示当前设置的渠道标识。
设备信息展示当前播放视频的设备信息。