音视频处理MCT

    接口速查

    为了便于用户查询,提供播放器、HLS下载的相关接口列表。P表示属性, F表示方法。

    播放器

    BDCloudMediaPlayerAuth

    负责AccessKey鉴权:

    序号 名称 类型 参数 返回值 描述
    1 sharedInstance F - 单例实例 获取单例
    2 delegate P - - 设置鉴权代理,一般是AppDelegate
    3 setAccessKey F 字符串AccessKey - 设置AccessKey,发起异步鉴权操作

    BDCloudMediaPlayerAuthDelegate

    AccessKey鉴权回调事件:

    序号 名称 类型 参数 返回值 描述
    1 authStart F - - 鉴权开始
    2 authEnd F NSError 错误 - 鉴权结束,错误为空值表示鉴权成功

    BDCloudMediaPlayerBitrateItem

    抽象多码率HLS视频的一个码率item:

    序号 名称 类型 参数 返回值 描述
    1 resolution P - - 分辨率,单位像素
    2 bitrate P - - 码率,单位 bps

    BDCloudMediaPlayerMeidaItem

    抽象无缝切换视频的一个视频item,主要用于视频的无缝切换:

    序号 名称 类型 参数 返回值 描述
    1 itemFromString F NSString 视频信息 - 初始化视频信息
    2 resolution P - - 分辨率,单位像素
    3 bitrate P - - 码率,单位 bps

    BDCloudMediaPlayerController

    主要接口

    序号 名称 类型 参数 返回值 描述
    1 view P - - 负责渲染视频画面,需要添加到UI上并设置布局信息。
    2 contentURL P - - 视频播放地址(NSURL形式)
    3 contentString P - - 视频播放地址(NSString形式)
    4 isPreparedToPlay P - - 是否已准备好播放
    5 playbackState P - - 播放器当前播放状态
    6 loadState P - - 播放器当前加载状态
    7 scalingMode P - - 画面缩放模式
    8 initialPlaybackTime P - - 设置或获取视频起始播放位置,单位秒
    9 currentPlaybackTime P - - 设置或获取设置视频播放,单位秒
    10 naturalSize P - - 获取视频的分辨率
    11 videoDAR P - - 自定义视频长宽比
    12 duration P - - 获取视频的总时长,单位秒
    13 playableDuration P - - 获取视频当前可播放时长,单位秒
    14 shouldAutoplay P - - 设置或获取是否允许视频自动播放
    15 shouldAutostop P - - 设置或获取是否允许视频自动停止播放
    16 playbackRate P - - 设置或获取倍速播放速率 范围[0.0, 4.0]
    17 playbackVolume P - - 视频播放音量 范围[0.0, 1.0]
    18 downloadSpeed P - - 获取在线视频下载速度,单位Bps
    19 clearCanvasWhenReset P - - 设置或获取播放器Reset是否清屏,默认为NO
    20 videoBitrate P - - 当前视频编码器输出的比特率,单位 kbps
    21 audioBitrate P - - 当前音频编码器输出的比特率,单位 kbps
    22 initWithContentURL: F NSURL 实例 传入视频播放地址(NSURL形式)初始化播放器
    23 initWithContentString: F NSString 实例 传入视频播放地址(NSString形式)初始化播放器
    24 prepareToPlay F - - 开始异步初始化视频
    25 play F - - 播放视频,isPreparedToPlay为YES时,SDK自动调用
    26 pause F - - 暂停播放
    27 stop F - - 停止播放,停止后需要重新初始化视频
    28 reset F - - 重置播放器,重置后可以设置其他的视频URL
    29 seek: F NSTimeInterval - 快速定位播放位置
    30 isPlaying F - BOOL 是否正在播放视频
    31 setPauseInBackground: F BOOL - App切后台后,是否自动暂停播放
    32 enableLooping: F BOOL - 是否循环播放
    33 enableAutoIdleTimerDisabled: F BOOL - 设置播放器自动控制屏幕长亮
    34 setMaxCacheSizeInBytes: F NSUInteger - 设置缓冲区大小,单位字节
    35 setCachePauseTime: F NSTimeInterval - 设置缓冲区最少时长。单位秒
    36 setFirstBufferingTime: F NSTimeInterval - 设置起播放时最大缓冲时长。单位秒
    37 toggleFrameChasing: F BOOL - 是否开启追帧播放
    38 setTimeoutInUs: F int - 设置连接建立和数据下载过程中的超时时长。单位微秒
    39 thumbnailImageAtCurrentTime F - UIImage 截图
    40 proxy p - - 播放器网络代理
    41 setMaxCacheDurationInSeconds: F NSTimeInterval - 设置缓冲区的时长。单位秒
    42 playType p 视频播放类型 - 设置视频播放类型。默认点播。
    43 userDefine p NSDictionary - 设置用户自定义信息
    44 tcpLoadSizeBlock p - - 设置TCP数据下载回调

    硬件加速

    序号 名称 类型 参数 返回值 描述
    1 setVideoDecodeMode: F 解码模式 - 设置解码模式
    2 viaHardwareAccelerate F - BOOL 获取是否当前视频启用了硬件加速

    多码率快速切换(HLS)

    序号 名称 类型 参数 返回值 描述
    1 getSupportedBitrates F - 多码率列表 获取多码率列表
    2 bitrateIndex F - 码率索引 获取当前码率索引
    3 setBitrateIndex: F 码率索引 - 设置当前码率索引

    多码率无缝切换(HLS,MP4等主流媒体格式)

    序号 名称 类型 参数 返回值 描述
    1 setMediaItemsInputType: F 视频输入格式 - 设置视频输入格式
    2 setMediaItems: F 视频地址列表 - 设置视频地址列表
    3 getMediaItems: F - 视频列表信息 获取视频列表的视频信息
    4 mediaItemIndex F - 视频索引 获取当前播放视频索引
    5 setMediaItemIndex: F 视频索引 BOOL 切换视频

    类方法

    序号 名称 类型 参数 返回值 描述
    1 + setLogReport: F BOOL - 设置是否开启日志
    2 + setLogLevel: F 日志级别 - 设置日志级别
    3 + setLogPath: F NSString - 设置日志输出路径
    4 + logPath F - NSString 获取日志路径
    5 + clearDiskLog F - - 清除当前路径日志
    6 + getSDKVersion F - SDK版本 获取SDK版本

    DRM

    序号 名称 类型 参数 返回值 描述
    1 setPlayerID:key: F playerId
    playerKey
    - 设置自定义的playerId、playerKey
    2 setToken: F token - 设置加密视频的临时token

    水印

    序号 名称 类型 参数 返回值 描述
    1 setWatermark: F UIImage - 设置水印图片
    2 setWatermarkPosition: F CGPoint位置 - 设置水印位置,布局变化时可能需要重新设置

    选项

    序号 名称 类型 参数 返回值 描述
    1 setOptionValue:forKey:ofCategory F NSString
    NSString
    BDCloudMediaPlayerOptionCategory
    - 设置播放器选项,选项值为字符串。
    2 setOptionIntValue:forKey:ofCategory F int64_t
    NSString
    BDCloudMediaPlayerOptionCategory
    - 设置播放器选项,选项值为整数值。

    HLS下载

    BDCloudMediaItem

    抽象一个离线HLS视频。

    序号 名称 类型 参数 返回值 描述
    1 identify: P - - 只读。标识(SDK自动生成)。
    2 url: P - - 只读。视频的原始URL。
    3 title: P - - 只读。视频的title。
    4 path: P - - 只读。视频数据保存路径。
    5 index: P - - 只读。可播放文件名。全路径为 path/index
    6 size: P - - 只读。数据文件大小。下载完成后有值。
    7 status: P - - 只读。状态。Downloading/Ready/Miss。
    8 progress: P - - 只读。下载进度。

    BDCloudMediaDownloadTask

    抽象一个下载任务。

    序号 名称 类型 参数 返回值 描述
    1 item: P - - 只读。离线HLS视频相关信息。
    2 state: P - - 只读。任务的状态。Wait/Running/Suspend/Canceled/Failure/Finish
    3 progress: P - - 只读。任务下载进度。值与item.progress一致。

    BDCloudMediaDownload

    下载管理。

    序号 名称 类型 参数 返回值 描述
    1 delegate: P - - 设置或获取事件代理
    2 initWithUser: F 用户 - 传入用户名进行初始化,事件代理可通过属性设置
    3 initWithUser:delegate: F 用户
    事件代理
    - 同时设置用户名、事件代理进行初始化
    4 frozen: F BOOL是否冻结调度 - 设置是否冻结调度
    5 mediaItems F - 离线HLS视频信息数组 返回所有下载中和完成的离线HLS视频信息
    6 removeMediaItem: F 离线HLS视频信息 - 删除一个离线HLS视频
    7 downloadTaskWithURL:title:error: F 视频URL
    视频title
    错误
    下载任务 创建一个下载任务
    8 suspendTask: F 任务 - 挂起任务
    9 resumeTask: F 任务 - 恢复任务
    10 cancelTask: F 任务 - 取消任务(会删除已下载数据)
    11 resumeUncompletedTasks F - 任务列表 查询并返回上次未完成的任务列表
    12 stopAllTasks F - - 停止所有任务
    13 clean F - - 清理已下载的所有数据和目录。调用后此实例将不再可用。

    BDCloudMediaDownloadDelegate

    下载回调事件

    序号 名称 类型 参数 返回值 描述
    1 taskStart: F 任务 - 任务开始
    2 task:needAuthentication: F 任务
    认证信息存储字典
    - 设置任务鉴权信息
    可设置playerIdtoken字段
    3 task:progress: F 任务
    进度
    - 任务进度汇报
    4 task:speed: F 任务
    网速
    - 任务网速汇报
    5 taskEnd:error: F 任务
    错误
    - 任务完成,error为空时表示下载成功

    缩略图显示

    BDCloudSpriteRenderConfiguration

    缩略图渲染配置

    序号 名称 类型 参数 返回值 描述
    1 row P - - 必选。每张雪碧图中缩略图的行数。
    2 column P - - 必选。每张雪碧图中缩略图的列数。
    3 startTime P - - 可选。开始时间,默认0
    4 thumbnailDuration P - - 必选。每个缩率图之间的时间间隔
    5 imageSize P - - 可选。雪碧图分辨率,默认CGSizeZero
    6 margin P - - 可选。雪碧图边距,默认0
    7 padding P - - 可选。缩略图间距,默认0
    8 scalingMode P - - 可选。渲染模式,默认BDCloudSpriteScalingModeNone
    9 defaultConfiguration F - 实例 初始化方法,并设置默认参数

    BDCloudSpriteDownloadConfiguration

    缩略图下载配置

    序号 名称 类型 参数 返回值 描述
    1 imageList P - - 必选。多张雪碧图的地址,且有序
    2 maxThreadNum P - - 可选。最大下载线程数,默认1
    3 path P - - 可选。磁盘保存路径,默认临时文件夹,覆盖
    4 defaultConfiguration F - 实例 初始化方法

    BDCloudSpriteManager

    缩略图显示管理类

    序号 名称 类型 参数 返回值 描述
    1 renderView P - - 显示缩略图画布
    2 status P - - 下载状态
    3 initWithRenderConfig:downloadConfig F 渲染配置
    下载配置
    实例 初始化方法
    6 startDownload: F BOOL
    NSError
    - 开始下载并回调
    9 stopDownload F - - 结束下载
    10 clearCache F - - 清除磁盘
    11 renderTime: F NSTimeInterval - 显示某时刻缩率图

    网络视频代理

    BDCloudMediaPlayerProtocol

    播放器网络代理

    序号 名称 类型 参数 返回值 描述
    1 onEnableIODelegate:url F 播放器示例
    URL
    0:支持
    -1:不支持
    允许网络代理
    2 onOpenPlayer:url: F 播放器示例
    URL
    0:成功
    -1:失败
    打开视频
    3 onReadplayer:url:buffer:size: F 播放器示例
    URL
    视频数据
    数据大小
    int:本次读取的真实数据大小 视频数据读取
    4 onSeekplayer:url:offset:whence: F 播放器示例
    URL
    偏移量
    偏移类型
    0:成功
    -1:失败
    视频定位
    5 onCloseplayer:url: F 播放器示例
    URL
    0:成功
    -1:失败
    关闭视频
    6 onTotalSizePlayer:url: F 播放器示例
    URL
    int_64:视频总大小 视频总大小获取

    网络视频加速

    BDCloudMediaSourceManager

    播放器网络视频加速

    序号 名称 类型 参数 返回值 描述
    1 countLimit p - - 预下载通道数。默认50。
    2 sizeLimit p - - 最大存储空间。默认500M,单位byte。
    3 configuration p - - 下载配置。默认default。
    4 readTimeout p - - 播放过程中网络数据下载超时时间。默认500ms。
    5 autoWriteCache p - - 开启边播边存。默认YES。
    6 enableWhenPreDwonloadFail p - - 预下载失败是否继续走网络库。默认NO。
    7 setVideoDuration:duration: F 视频网络连接
    视频时长
    - 设置当前视频的总时长,设置后可加快起播速度。
    8 setVideoCacheTime:time F 视频网络连接
    缓冲时长
    - 数据缓冲时间。默认10S。
    9 download:size:complete F 视频网络连接
    预下载大小
    成功回调
    - 预下载视频一小段,可提升起播速度。
    10 downloadCancel: F 视频网络连接 - 取消预下载。
    11 downloadInCache: F 视频网络连接 - 根据ULR获取视频是否预下载成功。
    12 downloadCacheDelete: F 视频网络连接 - 删除磁盘中下载的资源。
    13 downloadCacheDeleteAll: F - - 删除磁盘中全部下载资源。

    VR视频播放

    BDCloudVRConfiguration

    VR视频播放配置信息

    序号 名称 类型 参数 返回值 描述
    1 defaultConfig F - BDCloudVRConfiguration实例 默认配置信息实例。
    2 setProviderAVPlayerItem: F AVPlayerItem - 配置VR渲染图像输入源为AVPlayerItem。
    3 setProviderImage F - - 配置VR图像输入源为UIimage图像。
    4 setProviderBDCloudMediaPlayerView:
    viaHardwareAccelerate:
    F UIView:百度云播放器渲染视图
    BOOL:是否硬件解码
    - 配置VR图像输入源为百度云播放器渲染视图。
    5 setInteractiveMode: F 交互模式 - 配置VR渲染交互模式。
    6 setDisplayMode: F 渲染模式 - 配置VR渲染渲染模式。
    7 setProjectionMode: F 资源类型 - 配置VR渲染资源类型。
    8 setPinchEnabled: F BOOL - 配置是否允许捏合手势。
    9 setRenderOn: F UIView - 配置VR渲染视图的父视图。

    BDCloudVRRenderControl

    VR视频播放控制

    序号 名称 类型 参数 返回值 描述
    1 renderWithConfig: F VR渲染配置实例 BDCloudVRConfiguration实例 VR渲染控制实例
    2 switchImage: F UIImage - VR渲染控制实例
    3 switchInteractiveMode: F 交互模式 - 切换交互方式
    4 getInteractiveMode F - 交互方式 获取当前交互方式
    5 switchDisplayMode: F 渲染模式 - 切换渲染模式
    6 getDisplayMode F - 渲染模式 获取当前渲染模式
    7 switchProjectionMode: F 资源类型 - 切换资源类型
    8 getProjectionMode F - 资源类型 获取当前资源类型
    9 pause F - - 暂停VR渲染。
    10 resume F - - 开始VR渲染。

    动态码率自适应

    BDCloudMediaAdaptiveItem

    多码率视频信息

    序号 名称 类型 参数 返回值 描述
    1 init:bitrate F 视频地址
    视频码率
    BDCloudMediaAdaptiveItem 多码率视频信息实例
    2 contentString P - - 视频地址
    3 bitrate P - - 视频码率
    4 mediaIndex P - - 播放器索引

    BDCloudMediaAdaptiveControl

    动态码率自适应切换

    序号 名称 类型 参数 返回值 描述
    1 defaultControl F - BDCloudMediaAdaptiveControl 自适应切换实例
    1 setItems: F NSArray - 设置多码率视频信息
    1 setMaxCacheDuration: F NSTimeInterval - 设置最大缓冲时长
    1 setMaxCacheDuration: F NSTimeInterval - 设置最大缓冲时长
    1 setCacheDuration: F NSTimeInterval - 设置当前缓冲时长
    1 setCurrentPlayIndex: F NSInterger - 设置当前播放索引
    1 addLoadSize:loadSpeed F 下载数据大小
    下载速度
    - 更新当前下载速度
    1 getPredictBandwidth F - int64_t 获取预测宽带
    1 setMinLoadSizeInAddLoadSpeed F int64_t - 设置预测宽带的最小下载量
    1 setMinLoadDurationInPredictMediaItem F int64_t - 设置预测切换的最小缓冲时长
    上一篇
    快速进阶
    下一篇
    版本更新记录