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。

  • 添加依赖:在您项目的 Podfile 中添加相关依赖,并指定包含 Player-Quic 的 subspecs。

    # Podfile
    # 请将版本号替换为实际使用的版本
    pod 'TTSDK', 'x.xx.x.x', :subspecs => ['Player-Quic']
    

    说明

    目前 subspecs 暂不支持通过手动配置同时指定 Player-SR(超分)和 Player-Quic(QUIC)。若您的业务场景需要同时使用超分功能与 QUIC 协议,请联系火山引擎技术支持,获取定制化的集成方案。

  • 服务端支持

    • 确保您的 CDN 域名已配置并开启了 QUIC 协议支持。
    • 确保视频响应头(Response Header)中包含 Content-Length 字段。

标准协商模式

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

// 1. 开启新版网络下载模块 (开启 QUIC 的必要前提)
[TTVideoEngine.ls_localServerConfigure setOptionForKey:@(VEMDLKeyIsEnableMDL2_BOOL) value:@(YES)];

// 2. 开启 QUIC 下载器
[TTVideoEngine.ls_localServerConfigure setOptionForKey:@(VEMDLKeyIsEnableTTNetDownloader_BOOL) value:@(YES)];

TTSDKConfiguration *configuration = [TTSDKConfiguration defaultConfigurationWithAppID:appId licenseName:licenseName];

TTSDKTTNetConfiguration* ttnetConfig = [[TTSDKTTNetConfiguration alloc] init];

// 3. 开启全局 QUIC 开关
ttnetConfig.shouldEnableQuic = YES;
configuration.ttnetConfiguration = ttnetConfig;

// 4. 执行 SDK 初始化
[TTSDKManager startWithConfiguration:configuration];

指定域名强制开启

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

// 1. 开启新版网络下载模块
[TTVideoEngine.ls_localServerConfigure setOptionForKey:@(VEMDLKeyIsEnableMDL2_BOOL) value:@(YES)];

// 2. 开启 QUIC 下载器
[TTVideoEngine.ls_localServerConfigure setOptionForKey:@(VEMDLKeyIsEnableTTNetDownloader_BOOL) value:@(YES)];

// 3. 关键配置:禁用 SDK 内部的自动探测和域名黑名单降级逻辑,实现强制开启 QUIC
// ttnet_enable_quic_probe: 0 表示关闭探测;ttnet_enbale_quic_broken: 0 表示关闭黑名单逻辑
[TTVideoEngine.ls_localServerConfigure setOptionForKey:@(VEMDLKeyIsTemporaryOptStr_NSString) value:@"{\"ttnet_enable_quic_probe\": 0, \"ttnet_enbale_quic_broken\": 0}"];

TTSDKConfiguration *configuration = [TTSDKConfiguration defaultConfigurationWithAppID:appId licenseName:licenseName];
TTSDKTTNetConfiguration* ttnetConfig = [[TTSDKTTNetConfiguration alloc] init];

// 4. 开启全局 QUIC 开关
ttnetConfig.shouldEnableQuic = YES;

// 5. 指定强制使用 QUIC 的域名及端口(通常为 443),可以添加多个
// 配置后,播放器发起该域名的首次网络请求时即直接尝试 QUIC 协议
NSMutableDictionary* hints = [NSMutableDictionary dictionary];
hints[@"www.example.com"] = @(443);
hints[@"video.test.com"] = @(443);
ttnetConfig.quicHints = hints;
configuration.ttnetConfiguration = ttnetConfig;

// 6. 执行 SDK 初始化
[TTSDKManager startWithConfiguration:configuration];
最近更新时间:2026.04.17 11:57:26
这个页面对您有帮助吗?
有用
有用
无用
无用