tencent cloud

云点播

动态与公告
产品动态
公告
产品简介
产品概述
产品特性
产品功能
产品优势
应用场景
解决方案
专业版
云点播专业版简介
快速入门
控制台指南
开发指南
购买指南
计费概述
计费方式
购买指引
账单查询
续费说明
欠费说明
退费说明
快速入门
控制台指南
控制台介绍
服务概览
应用管理
媒体管理
资源包管理
License 管理
实时日志分析
实践教程
媒体上传
如何将点播的媒体文件进行智能降冷
媒体处理
分发播放
如何接收事件通知
如何进行源站迁移
直播录制
如何进行自定义源站回源
直播精彩剪辑固化至云点播 VOD 指引
如何使用 EdgeOne 分发云点播内容
开发指南
媒体上传
媒体加工处理
媒体 AI
事件通知
媒体分发播放
媒体加密与版权保护
播放频道
访问管理
下载媒体文件
应用体系
错误码
播放器 SDK 文档
概述
基本概念
产品功能
Demo 体验
免费测试
购买指南
SDK 下载
License 指引
播放器教程
含 UI 集成方案
无 UI 集成方案
高级功能
API 文档
第三方播放器插件
Player SDK Policy
服务端 API 文档
History
Introduction
API Category
Other APIs
Media Processing APIs
Task Management APIs
Media Upload APIs
Media Management APIs
Event Notification Relevant API
Media Categorization APIs
Domain Name Management APIs
Distribution APIs
AI-based Sample Management APIs
Region Management APIs
Data Statistics APIs
Carousel-Related APIs
Just In Time Transcode APIs
No longer recommended APIs
Making API Requests
AI-based image processing APIs
Parameter Template APIs
Task Flow APIs
Data Types
Error Codes
Video on Demand API 2024-07-18
常见问题
移动端播放问题
费用相关问题
视频上传问题
视频发布问题
视频播放问题
Web 端播放问题
全屏播放问题
数据统计问题
访问管理相关问题
媒资降冷问题
相关协议
Service Level Agreement
VOD 政策
隐私政策
数据处理和安全协议
联系我们
词汇表

第三方播放器 iOS 插件

PDF
聚焦模式
字号
最后更新时间: 2022-10-17 11:16:01
第三方播放器 iOS 插件为云点播提供给客户希望使用第三方播放器或自研播放器开发的对接云 PaaS 资源的播放器插件,常用于有自定义播放器功能需求的用户。

SDK下载

第三方播放器 iOS 插件和 Demo 项目,请参见 TXCPlayerAdapterSDK_iOS

集成指引

环境要求

配置支持 HTTP 请求,需要在项目的 info.plist 文件中添加 App Transport Security Settings->Allow Arbitrary Loads 设置为 YES。

组件依赖

添加 GCDWebServer 组件依赖。
pod "GCDWebServer", "~> 3.0"
GCDWebServer 是一个轻量的 HTTP server,它基于 GCD 并可用于 OS X & iOS,该库还实现了基于 Web 的文件上传以及 WebDAV server 等扩展功能。

使用播放器

变量声明,播放器主类为 TXCPlayerAdapter,创建后即可播放视频。
fileId 一般是在视频上传后,由服务器返回:
1. 客户端视频发布后,服务器会返回 fileId 到客户端。
2. 服务端视频上传,在 确认上传 的通知中包含对应的 fileId。
如果文件已存在腾讯云,则可以进入 媒资管理 ,找到对应的文件。点开后在右侧视频详情中,可以看到相关参数。
NSInteger appId; ////appid 在腾讯云点播申请
NSString *fileId;
//psign 即播放器签名,签名介绍和生成方式参见链接:https://www.tencentcloud.com/document/product/266/42436?from_cn_redirect=1
NSString *pSign = self.pSignTextView.text;

TXCPlayerAdapter *adapter = [TXCPlayerAdapter shareAdapterWithAppId:appId];
请求视频信息和播放:
id<ITXCPlayerAssistorProtocol> assistor = [TXCPlayerAdapter createPlayerAssistorWithFileId:fileId pSign:pSign];
[assistor requestVideoInfo:^(id<ITXCPlayerAssistorProtocol> response, NSError *error) {
if (error) {
NSLog(@"create player assistor error : %@",error);
[self.view makeToast:error.description duration:5.0 position:CSToastPositionBottom];
return;
}
[weakSelf avplayerPlay:response]; //播放视频
}];



- (void)avplayerPlay:(id<ITXCPlayerAssistorProtocol>)response
{
AVPlayerViewController *playerVC = [[AVPlayerViewController alloc] init];
self.playerVC = playerVC;
TXCStreamingInfo *info = response.getStreamingInfo;
AVPlayer *player = [[AVPlayer alloc] initWithURL:[NSURL URLWithString:info.playUrl]];
playerVC.player = player;
playerVC.title = response.getVideoBasicInfo.name;
[self.navigationController pushViewController:playerVC animated:YES];

[player addObserver:self forKeyPath:@"status" options:NSKeyValueObservingOptionNew context:nil];
}
使用完后销毁 Player:
[TXCPlayerAdapter destroy];

SDK 接口说明

初始化 Adatper

初始化 Adapter,单例。
接口
+ (instancetype)shareAdapterWithAppId:(NSUInteger)appId;
参数说明
appId:填写 appid(如果使用了子应用,则填 subappid)。

销毁 Adatper

销毁 Adapter,当程序退出后调用。
接口
+ (void)destroy;

创建播放器辅助类

通过播放器辅助类可以获取播放 fileId 相关信息以及处理 DRM 加密接口等。
接口
+ (id<ITXCPlayerAssistorProtocol>)createPlayerAssistorWithFileId:(NSString *)fileId
pSign:(NSString *)pSign;
参数说明
参数名
类型
描述
fileId
String
要播放的视频 fileId
pSign
String
播放器签名

请求视频播放信息

本接口会请求腾讯云点播服务器,获取播放视频的流信息等。
接口
- (void)requestVideoInfo:(ITXCRequestVideoInfoCallback)completion;
参数说明
参数名
类型
描述
completion
ITXCRequestVideoInfoCallback
异步回调函数

销毁播放器辅助类

销毁辅助类,在退出播放器或者切换了下一个视频播放的时候调用。
接口
+ (void)destroyPlayerAssistor:(id<ITXCPlayerAssistorProtocol>)assistor;

获取视频的基本信息

获取视频信息, 必须是在 id<ITXCPlayerAssistorProtocol>.requestVideoInfo 回调之后才生效。
接口
- (TXCVideoBasicInfo *)getVideoBasicInfo;
参数说明
TXCVideoBasicInfo 参数如下:
参数名
类型
描述
name
String
视频名称
size
Int
视频大小,单位:字节
duration
Float
视频时长,单位:秒
description
String
视频描述
coverUrl
String
视频封面

获取视频流信息

获取视频流信息列表,必须是在 id<ITXCPlayerAssistorProtocol>.requestVideoInfo 回调之后才生效。
接口
- (TXCStreamingInfo *)getStreamingInfo;
参数说明
TXCStreamingInfo 参数如下:
参数名
类型
描述
playUrl
String
播放 URL
subStreams
List
自适应码流子流信息,类型为 TXCSubStreamInfo
TXCSubStreamInfo 参数如下:
参数名
类型
描述
type
String
子流的类型,目前可能的取值仅有 video
width
Int
子流视频的宽,单位:px
height
Int
子流视频的高,单位:px
resolutionName
String
子流视频在播放器中展示的规格名

获取关键帧打点信息

获取视频关键帧打点信息,必须是在 id<ITXCPlayerAssistorProtocol>.requestVideoInfo 回调之后才生效。
接口
- (NSArray<TXCKeyFrameDescInfo *> *)getKeyFrameDescInfos;
参数说明
TXCKeyFrameDescInfo 参数如下:
参数名
类型
描述
timeOffset
Float
1.1
content
String
"片头开始..."

获取缩略图信息

获取缩略图信息,必须是在 id<ITXCPlayerAssistorProtocol>.requestVideoInfo 回调之后才生效。
接口
- (TXCImageSpriteInfo *)getImageSpriteInfo;
参数说明
TCXImageSpriteInfo 参数如下:
参数名
类型
描述
imageUrls
List
缩略图下载 URL 数组,类型为 String
webVttUrl
String
缩略图 VTT 文件下载 URL

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈