腾讯云云点播第三方播放器 iOS 插件_音视频解决方案_同尘科技
插件信息
插件名称 | 第三方播放器 iOS 插件 |
版本号 | V1.4.0 |
插件介绍 | 云点播提供给客户希望使用第三方播放器或自研播放器开发的对接云 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.1 客户端视频发布后,服务器会返回 fileId 到客户端。1.2 服务端视频上传,在 确认上传 的通知中包含对应的 fileId。如果文件已存在腾讯云,则可以进入 媒资管理 ,找到对应的文件。点开后在右侧视频详情中,可以看到相关参数。
NSInteger appId; ////appid 在腾讯云点播申请NSString *fileId;//psign 即播放器签名,签名介绍和生成方式参见链接:https://cloud.tencent.com/document/product/266/42436NSString *pSign = self.pSignTextView.text;
TXCPlayerAdapter *adapter = [TXCPlayerAdapter shareAdapterWithAppId:appId];
请求视频信息和播放:
id assistor = [TXCPlayerAdapter createPlayerAssistorWithFileId:fileId pSign:pSign];[assistor requestVideoInfo:^(id 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)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];
使用图片解密
当图片 URL 中的 QueryString 的 content_encrypt 参数被设置为 on 时,点播 CDN 会对内容进行 AES-128 加密,经过加密的图片需要经过解密后才能正常使用。
//创建TXCPlayerAdapter,使用图片解密时,AppId传入0
TXCPlayerAdapter *adapter = [TXCPlayerAdapter shareAdapterWithAppId:0];
通过 getImageLocalUrl 接口获取 imageUrl 的 LocalUrl。
//创建assistorid assistor = [TXCPlayerAdapter createPlayerAssistor];//把imageUrl转换成LocalUrlNSString *localUrl = [assistor getImageLocalUrl:ImageUrl];
使用 LocalUrl
//显示图片[_imageView sd_setImageWithURL:[NSURL URLWithString:localUrl]];
SDK 接口说明
初始化 Adatper
初始化 Adapter,单例。接口
+ (instancetype)shareAdapterWithAppId:(NSUInteger)appId;
参数说明appId:填写 appid(如果使用了子应用,则填 subappid,如果是图片解密,则填0)。
销毁 Adatper
销毁 Adapter,当程序退出后调用。接口
+ (void)destroy;
创建播放器辅助类
通过播放器辅助类可以获取播放 fileId 相关信息以及处理 DRM 加密接口等。接口
+ (id)createPlayerAssistorWithFileId:(NSString *)fileId pSign:(NSString *)pSign;
参数说明
参数名 | 类型 | 描述 |
fileId | String | 要播放的视频 fileId。 |
pSign | String | 播放器签名。 |
创建图片解密辅助类
通过图片辅助类可以获取加密图片的 localUrl。接口
+ (id)createPlayerAssistor;
请求视频播放信息
本接口会请求腾讯云点播服务器,获取播放视频的流信息等。接口
- (void)requestVideoInfo:(ITXCRequestVideoInfoCallback)completion;
参数说明
参数名 | 类型 | 描述 |
completion | ITXCRequestVideoInfoCallback | 异步回调函数。 |
获取图片的 localUrl
接口
/// 请求图片的localUrl接口
- (NSString *)getImageLocalUrl:(NSString *)imageURL;
销毁播放器辅助类
销毁辅助类,在退出播放器或者切换了下一个视频播放的时候调用。接口
+ (void)destroyPlayerAssistor:(id)assistor;
参数说明
参数名 | 类型 | 描述 |
imageURL | NSString | 图片Url |
获取视频的基本信息
获取视频信息, 必须是在id.requestVideoInfo
回调之后才生效。接口
- (TXCVideoBasicInfo *)getVideoBasicInfo;
参数说明TXCVideoBasicInfo 参数如下:
参数名 | 类型 | 描述 |
name | String | 视频名称。 |
size | Int | 视频大小,单位:字节。 |
duration | Float | 视频时长,单位:秒。 |
description | String | 视频描述。 |
coverUrl | String | 视频封面。 |
获取视频流信息
获取视频流信息列表,必须是在id.requestVideoInfo
回调之后才生效。接口
- (TXCStreamingInfo *)getStreamingInfo;
参数说明TXCStreamingInfo 参数如下:
参数名 | 类型 | 描述 |
playUrl | String | 播放 URL。 |
subStreams | List | 自适应码流子流信息,类型为 TXCSubStreamInfo。 |
TXCSubStreamInfo 参数如下:
参数名 | 类型 | 描述 |
type | String | 子流的类型,目前可能的取值仅有 video。 |
width | Int | 子流视频的宽,单位:px。 |
height | Int | 子流视频的高,单位:px。 |
resolutionName | String | 子流视频在播放器中展示的规格名。 |
获取关键帧打点信息
获取视频关键帧打点信息,必须是在id.requestVideoInfo
回调之后才生效。接口
- (NSArray *)getKeyFrameDescInfos;
参数说明TXCKeyFrameDescInfo 参数如下:
参数名 | 类型 | 描述 |
timeOffset | Float | 1.1 |
content | String | “片头开始…” |
获取缩略图信息
获取缩略图信息,必须是在 id.requestVideoInfo
回调之后才生效。接口
- (TXCImageSpriteInfo *)getImageSpriteInfo;
参数说明TCXImageSpriteInfo 参数如下:
参数名 | 类型 | 描述 |
imageUrls | List | 缩略图下载 URL 数组,类型为 String。 |
webVttUrl | String | 缩略图 VTT 文件下载 URL。 |
对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠
阿里云解决方案也看看?: 点击对比阿里云的解决方案
暂无评论,你要说点什么吗?