You need to enable JavaScript to run this app.
文档中心
视频点播

视频点播

复制全文
下载 pdf
进阶功能
开启 QUIC 播放加速
复制全文
下载 pdf
开启 QUIC 播放加速

播放器 SDK 支持 QUIC(HTTP/3)传输协议。根据内部实践,在弱网场景下开启 QUIC 协议,针对部分丢包和限速场景,视频的首帧加载时长及播放卡顿率均有一定程度的下降,能够显著提升极端网络环境下的播放体验。SDK 提供两种开启策略,您可以根据业务需求选择:

  • 标准协商模式:遵循通用 QUIC 标准流程。播放器会在内部进行 TCP 与 QUIC 的智能竞速,并根据网络环境和服务器响应自动选择最优链路。
  • 针对指定域名强制使用 QUIC:针对已知支持 QUIC 的核心业务域名,跳过标准协议的探测阶段。通过预置域名提示实现首跳即走 QUIC 协议,提升首帧加载速度和在高丢包网络环境下的播放稳定性。

前提条件

  • SDK 版本要求:SDK 自 1.46.2.9 版本起支持播放 QUIC。

  • 集成 QUIC 组件:需在 app/build.gradle 中集成 ttnet 模块。

    说明

    SDK 与 ttnet 版本匹配建议:

    • SDK < 1.50.1.7:ttnet 使用 1.46.2.9 版本。
    • SDK ≥ 1.50.1.7:ttnet 版本号与 SDK 版本号保持一致(例如:SDK 版本为 1.50.1.7,则 ttnet 也使用 1.50.1.7)。
    implementation "com.bytedanceapi:ttsdk-ttnet:版本号"
    
    // 如果您使用的版本低于 1.50.1.7,还需额外添加以下依赖:
    // implementation "com.ss.mediakit:ttnetloader:1.1.218.1-tob"
    
  • 服务端支持:确保您的 CDN 域名已配置并开启了 QUIC 协议支持。

标准协商模式

此方式下,SDK 会根据网络状况和服务器响应,自动在 TCP 和 QUIC 之间进行切换或竞速。

QuicConfig quicConfig = new QuicConfig();
// 1. 开启 QUIC
quicConfig.enable = true;
TTNetConfig config = new TTNetConfig.Builder()
                .setQuicConfig(quicConfig)
                .build();
TTNetManager.initTTNet(this, config);

// 2. 开启 QUIC 下载器
// 注意:如果您的 SDK 版本低于 1.50.1.7,还需要配置以下三个 setIntValue 开启 QUIC 下载器。1.50.1.7 后 SDK 会内部默认开启
// TTVideoEngine.setIntValue(DataLoaderHelper.DATALOADER_KEY_INT_ENABLE_TTNETLOADER, 1);
// TTVideoEngine.setIntValue(DataLoaderHelper.DATALOADER_KEY_INT_NEED_MDL_LOAD_MDLV2_LIB, 1);
// TTVideoEngine.setIntValue(DataLoaderHelper.DATALOADER_KEY_INT_ENABLE_MDLV2, 1);

// 3. 执行 SDK 初始化
Env.start(new Config.Builder()
     ....
    .build());

指定域名强制开启

如果您希望针对核心业务域名跳过标准协议中“先走 TCP 探测”的阶段,实现“首跳开启”以获取极致的首帧速度,请参考以下配置。

// 1. 禁用 SDK 内部的 QUIC 自动探测和域名临时黑名单逻辑
DataLoaderHelper.getDataLoader().setStringValue(DATALOADER_KEY_STRING_MDL_TEMP_OPTS,"{\"ttnet_enable_quic_probe\":0,\"ttnet_enbale_quic_broken\":0}");

// 2. 开启 QUIC 并配置加速域名
QuicConfig quicConfig = new QuicConfig();
Map<String, Pair<Integer, Integer>> quicHint = new HashMap<>();
// 设置强制使用 QUIC 的加速域名(QUIC Hints)。如不设置,SDK 内部将按标准逻辑自行探测。
quicHint.put("xxx.xxx.com", new Pair<>(443, 443));
// 开启 QUIC 支持
quicConfig.enable = true;
quicConfig.quicHint = quicHint;

TTNetConfig config = new TTNetConfig.Builder()
                .setQuicConfig(quicConfig)
                .build();
// 初始化网络组件
TTNetManager.initTTNet(this, config);

// 3. 开启 QUIC 下载器
// 注意:如果您的 SDK 版本低于 1.50.1.7,还需要配置以下三个 setIntValue 开启 QUIC 下载器。1.50.1.7 后 SDK 会内部默认开启
// TTVideoEngine.setIntValue(DataLoaderHelper.DATALOADER_KEY_INT_ENABLE_TTNETLOADER, 1);
// TTVideoEngine.setIntValue(DataLoaderHelper.DATALOADER_KEY_INT_NEED_MDL_LOAD_MDLV2_LIB, 1);
// TTVideoEngine.setIntValue(DataLoaderHelper.DATALOADER_KEY_INT_ENABLE_MDLV2, 1);

// 4. 执行 SDK 初始化
Env.start(new Config.Builder()
     ....
    .build());

最近更新时间:2026.04.17 11:52:19
这个页面对您有帮助吗?
有用
有用
无用
无用