Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
tgitpushping edited this page Dec 1, 2023 · 27 revisions

简介

SuperPlayer是腾讯云开源的一款播放器组件,简单几行代码即可拥有类似腾讯视频强大的播放功能。包括横竖屏切换、清晰度选择、手势、小窗等基础功能,还支持视频缓存,软硬解切换,倍速播放等特殊功能。相比系统播放器,支持格式更多,兼容性更好,功能更强大。同时还支持直播流(flv+rtmp)播放,具备首屏秒开、低延迟的优点,清晰度无缝切换、直播时移等高级能力。

本播放器完全免费开源,不对播放地址来源做限制,可放心使用。

阅读对象

本文档部分内容为腾讯云专属能力,使用前请开通腾讯云相关服务,未注册用户可注册账号免费试用

快速集成

CocoaPods安装

(1)Pod 方式直接集成 SuperPlayer

pod 'SuperPlayer'

如果您需要依赖 Player 版,可以在 podfile 文件中添加如下依赖:

pod 'SuperPlayer/Player'

如果您需要依赖专业版,可以在 podfile 文件中添加如下依赖:

pod 'SuperPlayer/Professional'

(2)Pod 方式直接集成 TXLiteAVSDK_Player:

pod 'TXLiteAVSDK_Player'

如果您需要指定某一个特定版本,可以在 podfile 文件中添加如下依赖:

pod 'TXLiteAVSDK_Player', '~> 10.3.11513'

执行pod install或pod update

手动下载安装

手动下载最新版本的播放器SDK和Demo,仔细阅读播放器集成相关配置

Demo体验

(1)设置License Demo体验时,需要配置项目使用的License(包含LicenseURL和Key),请按下图的方式进行配置(使用申请的License) 企业微信截图_6ed8b778-b865-4403-9639-7db4f9354782

(2)设置证书及描述文件,如下图所示(设置配套的证书信息) 企业微信截图_d352be4d-6498-434c-8981-b13f8958dad6

使用播放器

播放器主类为SuperPlayerView,创建后即可播放视频。

// 引入头文件
#import <SuperPlayer/SuperPlayer.h>
_playerView = [[SuperPlayerView alloc] init];
// 设置代理,用于接受事件
_playerView.delegate = self;
// 设置父View,_playerView会被自动添加到holderView下面
_playerView.fatherView = self.holderView;
SuperPlayerModel *playerModel = [[SuperPlayerModel alloc] init];
// 设置播放地址,直播、点播都可以
playerModel.videoURL = @"http://200024424.vod.myqcloud.com/200024424_709ae516bdf811e6ad39991f76a4df69.f20.mp4";
// 开始播放
[_playerView playWithModel:playerModel];

运行代码,可以看到视频在手机上播放,并且界面上大部分功能都处于可以状态

多清晰度

上面的示例代码只有一种清晰度,如果要添加多个清晰度,也非常简单。以直播为例,打开直播控制台,找到需要播放放的直播流,进入详情。

这里有不同清晰度、不同格式的播放地址。推荐使用FLV地址播放,代码如下:

SuperPlayerUrl *url1 = [SuperPlayerUrl new];
url1.url = @"http://5815.liveplay.myqcloud.com/live/5815_62fe94d692ab11e791eae435c87f075e.flv";
url1.title = @"超清";
SuperPlayerUrl *url2 = [SuperPlayerUrl new];
url2.url = @"http://5815.liveplay.myqcloud.com/live/5815_62fe94d692ab11e791eae435c87f075e_900.flv";
url2.title = @"高清";
SuperPlayerUrl *url3 = [SuperPlayerUrl new];
url3.url = @"http://5815.liveplay.myqcloud.com/live/5815_62fe94d692ab11e791eae435c87f075e_550.flv";
url3.title = @"标清";
SuperPlayerModel *playerModel = [[SuperPlayerModel alloc] init];
palyerModel.multiVideoURLs = @[url1, url2, url3];
playerModel.videoURL = url1.url; // 设置默认播放的清晰度
// 开始播放
[_playerView playWithModel:playerModel];

在播放器中即可看到这几个清晰度,单击即可立即切换。

直播清晰度

时移播放

播放器开启时移非常简单,您只需要在播放前配置好appId

SuperPlayerVideoId *videoId = [SuperPlayerVideoId new];
videoId.appId = 1252463788;
playerModel.videoId = videoId;

appId在 腾讯云控制台 -> 账号信息 中查到。

播放的直播流就能在下面看到进度条。往后拖动即可回到指定位置,单击"返回直播"可观看最新直播流。

时移功能处于公测申请阶段,如您需要可提交工单申请使用。

FileId播放

设置清晰度除了填写url外,更简单的使用方式是采用fileId播放。fileId在一般是在视频上传后,由服务器返回:

  1. 腾讯云官网 注册腾讯云账号,然后开通点播服务。
  2. 客户端视频发布后,服务器会返回fileId到客户端
  3. 服务端视频上传,在确认上传的通知中包含对应的fileId

如果文件已存在腾讯云,则可以进入 点播视频管理 ,找到对应的文件。点开后在右侧视频详情中,可以看到appId和fileId。

视频管理

播放fileId的代码如下:

SuperPlayerModel *playerModel = [[SuperPlayerModel alloc] init];
SuperPlayerVideoId *videoId = [SuperPlayerVideoId new];
videoId.appId = 1252463788;
videoId.fileId = @"4564972819219071679";
playerModel.videoId = videoId;
[_playerView playWithModel:self.playerModel];

视频在上传后,后台会自动转码(所有转码格式请参考转码模板)。转码完成后,播放器会自动显示多个清晰度。

视频缩略图&打点信息

在播放长视频时,雪碧图和打点信息有助于观众找到该兴趣的点。使用腾讯云服务API,能快速对视频处理。

截取雪碧图

增加打点信息

任务执行成功后,播放器的界面会增加新的元素。

小窗播放

小窗播是指在App内,悬浮在主window上的播放器。使用小窗播放非常简单,只需要在适当位置调用下面代码即可:

SuperPlayerWindowShared.superPlayer = _playerView; // 设置小窗显示的播放器
SuperPlayerWindowShared.backController = self; // 设置返回的view controller
[SuperPlayerWindowShared show]; // 悬浮显示

退出播放

当不需要播放器时,调用resetPlayer清理播放器内部状态,释放内存。

[_playerView resetPlayer];

画中画支持

使用iOS画中画能力时,请将SDK升级到10.3及以上版本,画中画能力iOS使用条件为iOS 14.0 & iPad 9.0以上,使用前请调用SDK相关接口进行判断。 同时,需要开通后台模式。XCode选择对应的Target -> Signing & Capabilities -> Background Modes,勾选"Audio, AirPlay, and Picture in Picture"

// 进入画中画
 if (![TXVodPlayer isSupportPictureInPicture]) {
 return;
 }
 [_vodPlayer enterPictureInPicture];
// 退出画中画
[_vodPlayer exitPictureInPicture];

更多功能

完整功能可扫码下载视频云工具包体验,或直接运行工程Demo。

iOS二维码下载

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /