HDR功能接入

智能视频SDK VideoCreatingSDK

  • 智能视频SDK开发者个人信息保护合规指引
  • 智能视频SDK隐私政策
  • 功能发布记录
  • 播放器SDK
    • SDK&Demo下载
    • 产品简介与下载
    • ios播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
      • 功能列表
      • 高级版功能接入
        • 端上超分功能接入
        • VR功能接入
        • 绿幕抠图功能接入
        • 投屏功能接入
        • 全景声功能接入
        • HDR功能接入
        • 超低延时直播功能接入
    • Unity播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
    • uniapp播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 快速进阶
    • HarmonyOS NEXT
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
    • Andriod播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
      • 高级版功能接入
        • 端上超分功能接入
        • VR功能接入
        • 绿幕抠图功能接入
        • 投屏功能接入
        • 全景声功能接入
        • HDR功能接入
        • 超低延时直播功能接入
    • Web 播放器
      • license指引
      • 简介
      • 使用指南
      • 版本更新记录
      • 开发指南
      • 接口速查
        • 事件响应接口
        • 控制接口
  • 图片加载SDK
    • SDK&Demo下载
    • SDK集成
    • 快速开始
    • 版本更新记录
    • 接口速查
    • 产品简介
    • 快速进阶
  • 短视频SDK
    • 产品描述
      • 名词解释
      • 功能说明
      • 产品简介
      • 核心优势
    • SDK体验
      • 能力限制
      • DEMO体验
      • SDK下载
    • 使用指南
      • License申请
    • 常见问题
      • 内容制作类问题
      • 开发类问题
      • 常见问题总览
      • 常见错误码
    • 购买指南
      • 欠费说明
      • 如何购买
      • 产品定价
    • 开发指南
      • IOS开发说明
        • 录制
        • 编辑
        • 字幕
        • 转场
        • 合成
        • 快速接入
        • IOS版本开发接入文档
      • 视频指导
        • 视频指南
      • Android开发说明
        • 录制
        • Android版本开发接入文档
        • 字幕
        • 转场
        • 合成
        • 快速接入
        • 概述
  • 移动直播SDK
    • 产品描述
      • 名词解释
      • 功能说明
      • 产品简介
      • 核心优势
    • SDK体验
      • demo体验
      • SDK下载
    • 使用指南
      • 接入教程
      • License申请
      • License续费
    • 常见问题
      • 内容制作类问题
      • 开发类问题
      • 常见问题总览
      • 常见错误码
    • 购买指南
      • 欠费说明
      • 如何购买
      • 产品定价
    • 开发指南
      • IOS开发说明
        • 互动直播
        • 特效直播
        • 拉流
        • IOS接入概述
        • 超低延迟直播
        • 直播推流
      • Android开发说明
        • 超低延时直播
        • 互动直播
        • 普通直播
        • 特效直播
        • 拉流
        • Android接入概述
        • 推流参数配置
所有文档
menu
没有找到结果,请重新输入

智能视频SDK VideoCreatingSDK

  • 智能视频SDK开发者个人信息保护合规指引
  • 智能视频SDK隐私政策
  • 功能发布记录
  • 播放器SDK
    • SDK&Demo下载
    • 产品简介与下载
    • ios播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
      • 功能列表
      • 高级版功能接入
        • 端上超分功能接入
        • VR功能接入
        • 绿幕抠图功能接入
        • 投屏功能接入
        • 全景声功能接入
        • HDR功能接入
        • 超低延时直播功能接入
    • Unity播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
    • uniapp播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 快速进阶
    • HarmonyOS NEXT
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
    • Andriod播放器
      • SDK集成
      • 快速开始
      • 简介
      • 版本更新记录
      • 接口速查
      • 快速进阶
      • 高级版功能接入
        • 端上超分功能接入
        • VR功能接入
        • 绿幕抠图功能接入
        • 投屏功能接入
        • 全景声功能接入
        • HDR功能接入
        • 超低延时直播功能接入
    • Web 播放器
      • license指引
      • 简介
      • 使用指南
      • 版本更新记录
      • 开发指南
      • 接口速查
        • 事件响应接口
        • 控制接口
  • 图片加载SDK
    • SDK&Demo下载
    • SDK集成
    • 快速开始
    • 版本更新记录
    • 接口速查
    • 产品简介
    • 快速进阶
  • 短视频SDK
    • 产品描述
      • 名词解释
      • 功能说明
      • 产品简介
      • 核心优势
    • SDK体验
      • 能力限制
      • DEMO体验
      • SDK下载
    • 使用指南
      • License申请
    • 常见问题
      • 内容制作类问题
      • 开发类问题
      • 常见问题总览
      • 常见错误码
    • 购买指南
      • 欠费说明
      • 如何购买
      • 产品定价
    • 开发指南
      • IOS开发说明
        • 录制
        • 编辑
        • 字幕
        • 转场
        • 合成
        • 快速接入
        • IOS版本开发接入文档
      • 视频指导
        • 视频指南
      • Android开发说明
        • 录制
        • Android版本开发接入文档
        • 字幕
        • 转场
        • 合成
        • 快速接入
        • 概述
  • 移动直播SDK
    • 产品描述
      • 名词解释
      • 功能说明
      • 产品简介
      • 核心优势
    • SDK体验
      • demo体验
      • SDK下载
    • 使用指南
      • 接入教程
      • License申请
      • License续费
    • 常见问题
      • 内容制作类问题
      • 开发类问题
      • 常见问题总览
      • 常见错误码
    • 购买指南
      • 欠费说明
      • 如何购买
      • 产品定价
    • 开发指南
      • IOS开发说明
        • 互动直播
        • 特效直播
        • 拉流
        • IOS接入概述
        • 超低延迟直播
        • 直播推流
      • Android开发说明
        • 超低延时直播
        • 互动直播
        • 普通直播
        • 特效直播
        • 拉流
        • Android接入概述
        • 推流参数配置
  • 文档中心
  • arrow
  • 智能视频SDKVideoCreatingSDK
  • arrow
  • 播放器SDK
  • arrow
  • ios播放器
  • arrow
  • 高级版功能接入
  • arrow
  • HDR功能接入
本页目录
  • 接入准备
  • 功能介绍
  • Demo体验
  • 快速开始
  • 简单方法
  • 高级自定义方法
  • 接口说明
  • BDCloudMediaPlayerController
  • BDCloudHdrKitRender

HDR功能接入

更新时间:2025-08-22

接入准备

  • 接入HDR功能,需要使用播放器SDK高级版,并申请高级版License。
  • 在frameworks目录下有BDCloudHdrKit.framewok,在vendor目录下有libGRF.a,将它们导入到你的项目中,并设置到Xcode的Link Binary With Libraries选项中

功能介绍

在高级版SDK中,提供了HDR视频的解码和渲染能力,能够让HDR视频在高低端机型上都得到正确的色彩呈现。其中解码能力由播放内核原生支持,渲染能力由BDCloudHdrKit组件提供,请确保该组件已集成到你的App中。

SDK当前支持的HDR标准有:HDR10、HLG、HDR Vivid。

Demo体验

hdr_ios_demo.gif

快速开始

目前提供两种使用方法

  • 简单方法:直接使用BDCloudMediaPlayerController提供的新接口,一行代码开启HDR渲染支持
  • 高级自定义方法:使用BDCloudHdrKit提供的底层接口,由接入方自行控制渲染逻辑

建议优先使用简单方法。

简单方法

Objective-C
1// 给播放器实例传入播放URL
2self.player.contentString = url;
3// 使能HDR渲染
4[self.player toggleEnableHdr:YES];
5// 准备播放 
6[self.player prepareToPlay];

高级自定义方法

  1. 初始化和参数设置
Objective-C
1BDCloudHdrKitRender *hdrKit
2// 创建实例
3_hdrKit = [[BDCloudHdrKitRender alloc] init];
4// 用licenseId和绘制hdr内容的CAEAGLLayer进行hdrkit的初始化
5[_hdrKit initContextwithLicense:_hdrLicenseId withLayer:(__bridge void *)(self.layer)];
6// 设置输入视频的HDR标准,默认为HDR10
7[_hdrKit setContentType:_hdrContentType];
8// 设置输入视频画面宽高
9[_hdrKit setInputVideoSize:inputw withHeight:inputh];
10// 设置输入视频旋转角度
11[_hdrKit setInputVideoRotate:_videoRotate];
12// 设置缩放模式
13[_hdrKit setScaleType:HDR_SCALE_AspectFit];
14// 设置渲染输出画面宽高
15int width = [[UIScreen mainScreen] bounds].size.width * _scaleFactor;
16int height = [[UIScreen mainScreen] bounds].size.height * _scaleFactor;
17[_hdrKit setOutputSize:width withHeight:height];
  1. 开始渲染
Objective-C
1[_hdrKit startRender];
  1. 传入HDR元数据
Objective-C
1// 传入HDR静态元数据
2if (_hdrStaticMeta != NULL && _isStaticMetaUpdated) {
3    [_hdrKit setHdrStaticMetadata:_hdrStaticMetaType withData:(unsigned char*)[_hdrStaticMeta bytes] withLength:[_hdrStaticMeta length]];
4    _isStaticMetaUpdated = FALSE;
5}
6// 传入HDR Vivid动态元数据
7if (_hdrVividMeta != NULL) {
8    [_hdrKit setVividMetadata:(unsigned char*)[_hdrVividMeta bytes] withLength:[_hdrVividMeta length]];
9}
  1. 更新视频帧数据
Objective-C
1// 输入未经处理的CVPixelBufferRef yuv数据(nv21格式),SDK将对此yuv数据进行处理后渲染到CAEAGLLayer上
2[_hdrKit updateInputBuffer:pixel_buffer];
  1. 停止渲染和释放
Objective-C
1[_hdrKit stopRender];
2[_hdrKit clearContext];

接口说明

BDCloudMediaPlayerController

接口名 说明
- (int)toggleEnableHdr:(BOOL)isEnable 设置是否开启HDR渲染,成功开启返回0,失败返回-1

BDCloudHdrKitRender

接口名 说明
- (instancetype)initContext:(NSString*)licenseID withLayer:(void*)layer 初始化
licenseID:通过百度智能云控制台申请的licenseID
layer:绘制hdr内容的CAEAGLLayer
- (void)setInputVideoSize:(NSNumber*)width withHeight:(NSNumber*)height 设置输入视频宽高
- (void)setInputVideoRotate:(NSNumber*)rotate 设置输入视频旋转角度
- (void)setOutputSize:(NSNumber*)width withHeight:(NSNumber*)height 设置渲染画布宽高
width:输出宽
height:输出高
- (void)setScaleType:(HdrScalingMode)type 设置渲染缩放类型
- (void)setContentType:(HdrContentType)type 设置HDR内容类型
- (void)updateInputBuffer:(CVPixelBufferRef)input 输入未经处理的yuv数据,SDK将对此yuv数据进行处理后渲染到CAEAGLLayer上
input nv21格式的yuv数据
- (void)setHdrStaticMetadata:(int)type withData:(unsigned char*)data withLength:(size_t)data_length 传入HDR静态元数据
type:SEI_MASTERING_DISPLAY_COLOUR_VOLUME(137)或SEI_CONTENT_LIGHT_LEVEL(144)
data:指向元数据的指针
data_length:元数据长度
- (void)setVividMetadata:(unsigned char*)data withLength:(size_t)data_length 传入HDR Vivid动态元数据
data:指向元数据的指针
data_length:元数据长度
- (void)startRender 开始渲染
- (void)stopRender 停止渲染
- (void)clearContext 销毁实例

上一篇
全景声功能接入
下一篇
超低延时直播功能接入