tencent cloud

文档反馈

最后更新时间:2024-11-22 17:05:49

    TXVodPlayer

    点播播放器

    请参见 TXVodPlayer。 主要负责从指定的点播流地址拉取音视频数据,并进行解码和本地渲染播放。 播放器包含如下能力:
    支持 FLV、MP4 及 HLS 多种播放格式,支持 基础播放(URL 播放) 和 点播播放(Fileid 播放)两种播放方式 。
    屏幕截图,可以截取当前播放流的视频画面。
    通过手势操作,调节亮度、声音、进度等。
    可以手动切换不同的清晰度,也可根据网络带宽自适应选择清晰度。
    可以指定不同倍速播放,并开启镜像和硬件加速。
    完整能力,请参见 点播超级播放器 - 能力清单

    播放器配置接口

    API
    描述
    设置播放器配置信息,配置信息请参见 TXVodPlayConfig
    设置播放器的视频渲染 TXCloudVideoView。
    设置播放器的视频渲染 TextureView。
    设置播放器的视频渲染 SurfaceView。
    设置播放器业务参数,参数格式为<String,Object>
    设置字幕样式信息,可在播放后对字幕样式进行更新(播放器高级版本才支持)。
    设置字幕软解目标对象(播放器高级版本才支持)。
    setAudioNormalization
    设置音量均衡,响度范围:-70~0(LUFS) 播放器高级版 11.7 版本开始支持。
    可填预设值(相关类或文件:Android:TXVodConstants;iOS:TXVodPlayConfig.h) 关:AUDIO_NORMALIZATION_OFF 开:AUDIO_NORMALIZATION_STANDARD(标准) AUDIO_NORMALIZATION_LOW (低) AUDIO_NORMALIZATION_HIGH(高) 可填自定义数值: 从低到高,范围-70 - 0 LUFS

    播放基础接口

    API
    描述
    播放 HTTP URL 形式地址。10.7 版本开始,startPlay 变更为 startVodPlay,需要通过 V2TXLivePremier#setLicence 或者 TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和视频播放 License 均可使用。
    以 fileId 形式播放,传入TXPlayInfoParams 参数。10.7 版本开始,startPlay 变更为 startVodPlay,需要通过 V2TXLivePremier#setLicence 或者 TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和视频播放 License 均可使用。
    停止播放。
    是否正在播放。
    暂停播放,停止获取流数据,保留最后一帧画面。
    恢复播放,重新获取流数据。
    跳转到视频流指定时间点,单位秒。
    跳转到视频流指定时间点,单位毫秒。
    获取当前播放位置,单位秒。
    获取缓存的总时长,单位秒。
    获取总时长,单位秒。
    获取可播放时长,单位秒。
    获取视频宽度。
    获取视频高度。
    设置点播是否 startVodPlay 后自动开始播放,默认自动播放。
    设置播放开始时间。
    加密 HLS 的 token。
    设置是否循环播放。
    返回是否循环播放状态。
    添加外挂字幕(播放器高级版本才支持)。
    返回字幕轨道信息列表(播放器高级版本才支持)。
    返回音频轨道信息列表(播放器高级版本才支持)。
    选择轨道(播放器高级版本才支持)。
    取消选择轨道(播放器高级版本才支持)。
    seekToPdtTime
    跳转到视频流指定 PDT(Program Date Time )时间点,可实现视频快进、快退、进度条跳转等功能,目前只支持 HLS 视频格式。(播放器高级版 11.6 版本开始支持)。
    参数单位毫秒(ms)。

    视频相关接口

    API
    描述
    启用或禁用视频硬解码。
    获取当前视频帧图像。
    注意:由于获取当前帧图像是比较耗时的操作,所以截图会通过异步回调出来。
    设置镜像。
    设置点播的播放速率,默认1.0。
    返回当前播放的码率索引。
    设置当前正在播放的码率索引,无缝切换清晰度。清晰度切换可能需要等待一小段时间。

    音频相关接口

    API
    描述
    设置是否静音播放。
    设置音量大小,范围:0 - 100。
    设置是否自动获取音频焦点 默认自动获取。

    事件通知接口

    API
    描述
    设置播放器的回调(已弃用,建议使用 setVodListener)。
    设置播放器的回调。

    TRTC 相关接口

    通过以下接口,可以把点播播放器的音视频流通过 TRTC 进行推送,更多 TRTC 服务请参见 TRTC 产品概述
    API
    描述
    点播绑定到 TRTC 服务。
    点播解绑 TRTC 服务。
    开始推送视频流。
    取消推送视频流。
    开始推送音频流。
    取消推送音频流。

    ITXVodPlayListener

    腾讯云点播回调通知。

    SDK 基础回调

    API
    描述
    点播播放事件通知,请参见 播放事件列表事件参数
    点播播放器 网络状态通知

    TXVodPlayConfig

    点播播放器配置类。

    基础配置接口

    API
    描述
    设置播放器重连次数。
    设置播放器重连间隔,单位秒。
    设置播放器连接超时时间,单位秒。
    设置点播缓存目录,点播 MP4、HLS 有效。
    设置缓存文件个数。接口废弃,请使用TXPlayerGlobalSetting#setMaxCacheSize 进行全局配置。
    设置播放器类型: TXVodConstants#PLAYER_SYSTEM_MEDIA_PLAYER:使用系统自带播放器。 TXVodConstants#PLAYER_THUMB_PLAYER:使用腾讯云自研播放器。
    设置自定义 HTTP headers。
    设置是否精确 seek,默认 true。
    播放 MP4 文件时,若设为 YES 则根据文件中的旋转角度自动旋转。<br>旋转角度可在 PLAY_EVT_CHANGE_ROTATION 事件中获得。默认 YES。
    平滑切换多码率 HLS,默认 false。
    缓存 MP4 文件扩展名。
    设置进度回调间隔,单位毫秒。
    最大预加载大小,单位 MB。
    设置预加载最大缓冲大小,单位:MB。
    设置拓展信息。
    播放 HLS 有多条码流时,根据设定的 preferredResolution 选最优的码流进行起播,preferredResolution 是宽高的乘积(width * height), 启播前设置才有效。
    设置 HLS 安全加固加解密 key。
    设置 HLS 安全加固加解密 Iv。
    是否允许加载后渲染后处理服务。
    设置媒资类型, 默认为 auto 类型。可选值有:
    TXVodConstants#MEDIA_TYPE_AUTO,AUTO类型(默认值,自适应码率播放暂不支持);
    TXVodConstants#MEDIA_TYPE_HLS_VOD,HLS点播媒资;
    TXVodConstants#MEDIA_TYPE_HLS_LIVE,HLS直播媒资;
    TXVodConstants#MEDIA_TYPE_HLS_VOD,MP4等通用文件点播媒资(从 11.2 版本开始支持);
    TXVodConstants#MEDIA_TYPE_DASH_VOD,DASH点播媒资(从 11.2 版本开始支持);
    setEncryptedMp4Level
    设置 MP4 播放和存储加密等级,从播放器高级版12.2 版本开始支持,目前支持:
    TXVodConstants#MP4_ENCRYPTION_LEVEL_NONE:非加密播放,默认支持。
    TXVodConstants#MP4_ENCRYPTION_LEVEL_L2:MP4 本地加密播放。

    TXPlayerGlobalSetting

    点播播放器全局配置类
    API
    描述
    设置播放引擎的 cache 目录。设置后,离线下载,预下载,播放器等会优先从此目录读取和存储。
    设置播放引擎的最大缓存大小。设置后会根据设定值自动清理Cache目录的文件,单位 MB。
    setDrmProvisionEnv
    设置 Drm 证书提供商环境(注意:从 11.2 版本开始支持)。可选值有:TXPlayerGlobalSetting.DrmProvisionEnv#DRM_PROVISION_ENV_COM, 代表使用 google COM 域名证书提供商;
    TXPlayerGlobalSetting.DrmProvisionEnv#DRM_PROVISION_ENV_CN,代表使用 google CN 域名证书提供商;

    TXVodPreloadManager

    点播播放器预下载接口类
    API
    描述
    获取 TXVodPreloadManager 实例对象,单例模式。
    启动预下载前,请先设置好播放引擎的缓存目录。
    停止预下载。

    ITXVodPreloadListener

    视频预下载回调接口。
    API
    描述
    视频预下载完成。
    onError
    视频预下载出错。

    TXVodDownloadManager

    点播播放器视频下载接口类。当前只支持下载非嵌套 m3u8 视频源,对 simpleAES 加密视频源将进行腾讯云私有加密算法加密以提升安全性。
    API
    描述
    获取 TXVodDownloadManager 实例对象,单例模式。
    设置下载 HTTP 头。
    设置下载回调方法,下载前必须设好。
    以 URL 方式开始下载。
    以 fileid 方式开始下载。
    停止下载,ITXVodDownloadListener.onDownloadStop 回调时停止成功。
    删除下载信息。
    获取所有用户的下载列表信息。
    获取下载信息。
    获取下载信息。

    ITXVodDownloadListener

    腾讯云视频下载回调通知。
    API
    描述
    下载开始。
    下载进度更新。
    下载停止。
    下载结束。
    下载过程中遇到错误。
    下载 HLS,遇到加密的文件,将解密 key 给外部校验。

    TXVodDownloadDataSource

    腾讯云视频fildid下载源,下载时作为参数传入。
    API
    描述
    构造函数,传入 appid,fileid,quality,pSign,username 等参数。
    getAppId
    获取传入的 appid。
    getFileId
    获取传入的 fileid。
    getPSign
    获取传入的 psign。
    获取传入的 quality。
    获取传入的 userName,默认“default”。
    getToken
    获取传入的 token。
    获取传入的 overlayKey。
    获取传入的 overlayIv。

    清晰度常量

    说明:
    TXVodQuality240P ~ TXVodQuality1080p 常量在 11.0 版本新增
    code
    常量定义
    含义说明
    0
    原画
    1
    流畅
    2
    标清
    3
    高清
    4
    全高清
    5
    2K
    6
    4K
    1000
    未定义
    240
    TXVodQuality240P
    流畅 240P
    360
    TXVodQuality360P
    流畅 360P
    480
    TXVodQuality480P
    标清 480P
    540
    TXVodQuality540P
    标清 540P
    720
    TXVodQuality720P
    高清 720P
    1080
    TXVodQuality1080p
    全高清 1080P

    TXVodDownloadMediaInfo

    腾讯云视频下载信息,可获取下载进度,播放链接等信息。
    API
    描述
    fileid 下载时获取传入的 fileid 下载源。
    获取下载的总时长。
    获取已下载的可播放时长。
    getSize
    获取下载文件总大小,单位:Byte,只针对 fileid 下载源有效。
    备注:总大小是指上传到腾讯云点播控制台的原始文件的大小,转自适应码流后的子流大小,暂时无法获取。
    获取已下载文件大小,只针对 fileid 下载源有效。
    获取当前下载进度。
    获取当前播放路径,可传给 TXVodPlayer 播放。
    获取下载状态。
    判断是否下载完成。
    getSpeed
    获取下载速度,单位:KByte/秒。(10.9 版本开始支持)
    isResourceBroken
    判断下载后的视频资源是否损坏,如下载完被删除等情况将返回true。(11.0 版本开始支持)

    静态属性

    code
    属性定义
    含义说明
    0
    下载初始态
    1
    下载开始
    2
    下载停止
    3
    下载出错
    4
    下载完成

    TXPlayerAuthBuilder

    通过fileId播放加密视频配置。
    API
    描述
    setAppId
    应用 appId。
    setFileId
    文件 id。
    加密链接超时时间戳。
    setExper
    试看时长。
    setUs
    唯一标识请求。
    setSign
    防盗链签名。
    setHttps
    是否用 https 请求。

    TXBitrateItem

    视频码率信息。
    API
    描述
    index
    m3u8 文件中的序号。
    width
    此流的视频宽度。
    height
    此流的视频高度。
    bitrate
    此流的视频码率。
    compareTo
    比较两条流的码率是否相等。

    TXImageSprite

    雪碧图解析类。
    API
    描述
    构造函数。
    设置雪碧图地址。
    获取缩略图。
    release
    使用完毕调用,否则会造成内存泄漏。

    TXPlayerDrmBuilder

    DRM 播放信息。
    API
    描述
    构造 DRM 播放信息对象。
    设置证书提供商 url。
    设置解密 key url。
    设置播放媒体的 url。

    TXPlayInfoParams

    通过 fileId 播放视频参数信息。
    API
    描述
    构造函数。
    getAppId
    获取应用 id。
    getFileId
    获取文件 id。
    getPSign
    获取腾讯云视频加密签名。

    错误码表

    常规事件

    code
    事件定义
    含义说明
    2004
    PLAY_EVT_PLAY_BEGIN
    视频播放开始(若有转菊花效果,此时将停止)。
    2005
    PLAY_EVT_PLAY_PROGRESS
    视频播放进度,会通知当前播放进度、加载进度和总体时长。
    2007
    PLAY_EVT_PLAY_LOADING
    视频播放 loading,如果能够恢复,之后会有 LOADING_END 事件。
    2014
    PLAY_EVT_VOD_LOADING_END
    视频播放 loading 结束,视频继续播放。
    2006
    PLAY_EVT_PLAY_END
    视频播放结束。
    2013
    PLAY_EVT_VOD_PLAY_PREPARED
    播放器已准备完成,可以播放。
    2003
    PLAY_EVT_RCV_FIRST_I_FRAME
    网络接收到首个可渲染的视频数据包(IDR)。
    2009
    PLAY_EVT_CHANGE_RESOLUTION
    视频分辨率改变。
    2011
    PLAY_EVT_CHANGE_ROTATION
    MP4 视频旋转角度。

    警告事件

    code
    事件定义
    含义说明
    -2301
    PLAY_ERR_NET_DISCONNECT
    网络断连,且经多次重连亦不能恢复,更多重试请自行重启播放。
    -2305
    PLAY_ERR_HLS_KEY
    HLS 解密 key 获取失败。
    2101
    PLAY_WARNING_VIDEO_DECODE_FAIL
    当前视频帧解码失败。
    2102
    PLAY_WARNING_AUDIO_DECODE_FAIL
    当前音频帧解码失败。
    2103
    PLAY_WARNING_RECONNECT
    网络断连, 已启动自动重连 (重连超过三次就直接抛送 PLAY_ERR_NET_DISCONNECT)。
    2106
    PLAY_WARNING_HW_ACCELERATION_FAIL
    硬解启动失败,采用软解。
    -2304
    PLAY_ERR_HEVC_DECODE_FAIL
    H265 解码失败。
    -2303
    PLAY_ERR_FILE_NOT_FOUND
    播放的文件不存在。

    播放器SDK常量

    下面的常量10.0 版本开始,通过TXVodConstants对外提供:

    图像平铺模式

    code
    事件定义
    含义说明
    0
    视频画面全屏铺满。
    1
    视频画面自适应屏幕。

    图像渲染角度

    code
    事件定义
    含义说明
    0
    常规竖屏。
    270
    右旋90度。

    播放事件列表

    code
    事件定义
    含义说明
    2003
    网络接收到首个视频数据包(IDR)。
    2004
    视频播放开始。
    2005
    视频播放进度。
    2006
    视频播放结束。
    2007
    视频播放 Loading。
    2008
    解码器启动。
    2009
    视频分辨率改变。
    2010
    获取点播文件信息成功。
    2011
    视频旋转信息。
    2013
    视频加载完毕。
    2014
    loading 结束。
    2026
    音频首次播放。
    2103
    网络断连, 已启动自动重连。
    -2301
    网络断连, 且经多次重连抢救无效。
    -2303
    文件不存在。
    -2304
    h265 解码失败。
    -2305
    HLS 解密 key 获取失败。
    -2306
    获取点播文件信息失败。
    2106
    硬解启动失败,采用软解。
    -5
    license 不合法,播放失败。注:在 startVodPlay 之前,需要通过 TXLiveBase#setLicence 设置 License 后方可成功播放,否则将播放失败(黑屏),全局仅设置一次即可。直播 License、短视频 License 和视频播放 License 均可使用,若您暂未获取上述 License ,可 快速免费申请测试版 License 以正常播放,正式版 License 需 购买。

    播放事件参数

    事件定义
    含义说明
    UTC 时间。
    EVT_TIME
    事件发生时间。
    事件说明。
    事件参数1。
    事件参数2。
    视频封面。
    视频地址。
    视频名称。
    视频简介。
    播放进度(毫秒)。
    播放总长(毫秒)。
    播放进度。
    播放总长。
    点播可播放时长(毫秒)。
    播放速率。
    点播可播放时长。
    雪碧图 web vtt 描述文件下载 URL。
    雪碧图图片下载 URL。
    加密类型。
    视频编码类型。
    视频关键帧描述信息。
    关键帧时间。

    播放网络状态通知参数

    事件定义
    含义说明
    CPU 使用率。
    分辨率之 width。
    分辨率之 height。
    当前视频帧率。
    当前视频 GOP。
    视频数据比特率。
    音频数据比特率。
    网络速率。
    音频帧数。
    视频帧数。
    当前流的音频信息。
    网络抖动情况。
    连接的 Server IP 地址。
    当前解码器输出帧率。
    网络质量。

    播放器媒资类型

    code
    事件定义
    含义说明
    0
    auto 类型。
    1
    自适应码率播放 hls 点播媒资。
    2
    自适应码率播放 hls 直播媒资。

    未分类变量

    code
    事件定义
    含义说明
    -1
    自适应码率 index 标识。
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持