You need to enable JavaScript to run this app.
视频点播

视频点播

复制全文
进阶功能
播放 H.265 视频
复制全文
播放 H.265 视频

H.265 (HEVC) 是一种视频编码标准,相比于之前的标准 H.264 (AVC),H.265 能够以更高的压缩效率提供相同质量的视频,或者在相同的比特率下提供更好的图像质量。然而,H.265 存在设备兼容性问题。播放器 SDK 包含基于大数据沉淀的 H.265 硬解机型黑名单,可根据机型画像灵活切换软硬解策略,有效避免播放失败、花屏、黑屏等问题。本文为您介绍如何通过播放器 SDK 播放 H.265 视频。

前提条件

该功能仅高级版和企业版支持。请确保您已购买高级版或企业版的 License 并添加高级版 SDK 依赖,详见播放器 License

注意

自 1.36.1 版本起,H.265 硬解优化由增值服务调整至高级版和企业版。如您集成 1.36.1 之前的版本且想要使用此功能,请升级至最新版本。

确认当前设备是否支持 H.265 硬解

通过以下示例代码确认当前设备是否支持 H.265 硬解。

// 确认该机型是否支持 H.265 硬解。true:支持; false:不支持
boolean isSupportH265HardwareDecode = CodecStrategy.Decoder.isSupport(CodecStrategy.Dimension.h265_HARDWARE);

// 确认当前是否使用硬解。调用时机:在 onRenderStart 回调后调用
boolean isHardwareDecode = videoEngine.getIntOption(TTVideoEngine.PLAYER_OPTION_GET_VIDEO_CODEC_TYPE) == TTVideoEngine.PLAY_CODEC_NAME_AN_HW;

// 获取当前播放源 code 类型。调用时机:在 onRenderStart 回调后调用
// H264: 0
// H265: 1
int videoCodecId = videoEngine.getIntOption(TTVideoEngine.PLAYER_OPTION_GET_VIDEO_CODEC_ID); 

DirectUrl 模式播放 H.265 视频

DirectUrl 模式播放 H.265 视频的整体流程具体如下图所示:
Image
应用客户端向服务端请求播放地址时,需携带是否支持 H.265 信息。服务端根据此信息返回视频播放地址,即支持时返回 H.265 播放地址,不支持时返回 H.264 播放地址。客户端获取到播放地址后,设置给 SDK 即可,具体请见快速开始 - 设置播放源

说明

应用服务端也可同时下发 H.264 和 H.265 播放源,客户端再根据确认结果播放相应视频。

Vid 模式播放 H.265 视频

服务端处理

客户端实现

参考以下示例代码在 Vid 模式下播放 H.265 视频:

// 1. 确认该机型是否支持 H.265 硬解
final String encodeType;
if (CodecStrategy.Decoder.isSupport(CodecStrategy.Dimension.h265_HARDWARE)) {
    encodeType = TTVideoEngine.CODEC_TYPE_h265;
} else {
    encodeType = TTVideoEngine.CODEC_TYPE_H264;
}

// 2. 构建 vid 播放源,传入 encodeType 类型
StrategySource vidSource = new VidPlayAuthTokenSource.Builder()
        .setVid("your video id") // 应用服务端下发
        .setPlayAuthToken("your video id's play auth token") // 应用服务端下发
        // 设置 encodeType 类型,不传则使用默认值 h264
        // 播放器请求视频播放地址时,若 H265 资源不存在,会兜底下发 H264 播放
        .setEncodeType(encodeType)
        .build();

// 3. 设置播放源
ttVideoEngine.setStrategySource(vidSource);

// 4. 播放
ttVideoEngine.play()
最近更新时间:2025.03.27 15:10:36
这个页面对您有帮助吗?
有用
有用
无用
无用