tencent cloud

Video on Demand

Release Notes and Announcements
Release Notes
Announcements
Product Introduction
Overview
Product Features
Features
Strengths
Scenarios
Solutions
Professional Edition
Introduction to Video On Demand Professional Edition
Quick Start
Console Guide
Development Guide
Purchase Guide
Billing Overview
Billing Modes
Purchase Guide
Viewing Bills
Renewal
Overdue Policy
Refund Policy
Getting Started
Console Guide
Console Overview
Service Overview
Application Management
Media Management
Package Management
License Management
Real-Time Log Analysis
Practical Tutorial
Media Upload
Smart Cold Storage of VOD Media Asset Files
Video Processing
Distribution and Playback
How to Receive Event Notification
How to Migrate Files from Origin Server to VOD
Live Recording
How to Pull from Custom Origin Servers
How to Use EdgeOne to Distribute Content in VOD
Development Guide
Media Upload
Media Processing
Video AI
Event Notification
Video Playback
Media Encryption and Copyright Protection
Broadcast Channel
CAM
Media File Download
Subapplication System
Error Codes
Player SDK
Overview
Basic Concepts
Features
Free Demo
Free Trial License
Purchase Guide
SDK Download
Licenses
Player Guide
Integration (UI Included)
Integration (No UI)
Advanced Features
API Documentation
Player Adapter
Player SDK Policy
Server APIs
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
FAQs
Mobile Playback
Fees
Video Upload
Video Publishing
Video Playback
Web Playback
Full Screen Playback
Statistics
Access Management
Cold Storage
Agreements
Service Level Agreement
VOD Policy
Privacy Policy
Data Processing And Security Agreement
Contact Us
Glossary

Player Adapter for iOS

PDF
Focus Mode
Font Size
Last updated: 2022-10-17 11:16:01
Player Adapter for iOS is a player plugin provided by VOD for customers who want to use a third-party or proprietary player to connect to Tencent Cloud PaaS resources. It is generally used by customers who strongly need to customize player features.

SDK Download

The Player Adapter SDK and demo for iOS can be downloaded here.

Integration Guide

Environment requirements

To configure the support for HTTP requests, you need to set App Transport Security Settings->Allow Arbitrary Loads to YES in the info.plist file of your project.

Component dependency

Add the GCDWebServer component dependency.
pod "GCDWebServer", "~> 3.0"
GCDWebServer is a lightweight HTTP server based on GCD and can be used for OS X and iOS. This library also implements extended features such as web-based file upload and WebDAV server.

Using the Player

Declare the variables and then create an instance. The main class of the player is TXCPlayerAdapter, and videos can be played back after it is created.
A fileId is usually returned by the server after the video is uploaded:
1. After the video is published on the client, the server will return a fileId to the client.
2. When the video is uploaded to the server, the corresponding fileId will be included in the notification of upload confirmation.
If the file already exists in Tencent Cloud, you can go to Media Assets and find it. After clicking it, you can view relevant parameters in the video details on the right.
NSInteger appId; //// `appid` can be applied for in Tencent Cloud VOD
NSString *fileId;
// `psign` is a player signature. For more information on the signature and how to generate it, visit https://www.tencentcloud.com/document/product/266/42436?from_cn_redirect=1.
NSString *pSign = self.pSignTextView.text;

TXCPlayerAdapter *adapter = [TXCPlayerAdapter shareAdapterWithAppId:appId];
Request the video information and play back the video:
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]; // Play back the video
}];



- (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];
}
Terminate the player after use:
[TXCPlayerAdapter destroy];

SDK API Description

Initializing Adapter

This API is used to initialize an Adapter singleton.
API
+ (instancetype)shareAdapterWithAppId:(NSUInteger)appId;
Parameter description
appId: Enter the appid (if a subapplication is used, enter the subappid). |

Terminating Adapter

This API is used to terminate Adapter. It can be called after the program exits.
API
+ (void)destroy;

Creating the Player auxiliary class

An auxiliary class of the player can be used to get the playback fileId and process DRM encryption APIs.
API
+ (id<ITXCPlayerAssistorProtocol>)createPlayerAssistorWithFileId:(NSString *)fileId
pSign:(NSString *)pSign;
Parameter description
Parameter
Type
Description
fileId
String
The fileId of the video to be played.
pSign
String
The player signature.

Requesting video playback information

This API is used to request the stream information of the video to be played back from the Tencent Cloud VOD server.
API
- (void)requestVideoInfo:(ITXCRequestVideoInfoCallback)completion;
Parameter description
Parameter
Type
Description
completion
ITXCRequestVideoInfoCallback
Async callback function.

Terminating the Player auxiliary class

This API is used to terminate an auxiliary class. You can call it when exiting the player or switching to the next video for playback.
API
+ (void)destroyPlayerAssistor:(id<ITXCPlayerAssistorProtocol>)assistor;

Getting the basic video information

This API is used to get the video information and will take effect only after id<ITXCPlayerAssistorProtocol>.requestVideoInfo is called back.
API
- (TXCVideoBasicInfo *)getVideoBasicInfo;
Parameter description
The parameters of TXCVideoBasicInfo are as follows:
Parameter
Type
Description
name
String
Video name
size
Int
Video size in bytes
duration
Float
Video duration in seconds
description
String
Video description
coverUrl
String
Video cover

Getting video stream information

This API is used to get the video stream information list and will take effect only after id<ITXCPlayerAssistorProtocol>.requestVideoInfo is called back.
API
- (TXCStreamingInfo *)getStreamingInfo;
Parameter description
The parameters of TXCStreamingInfo are as follows:
Parameter
Type
Description
playUrl
String
Playback URL
subStreams
List
The adaptive bitrate substream information of the SubStreamInfo type.
The parameters of TXCSubStreamInfo are as follows:
Parameter
Type
Description
type
String
Substream type. Valid values: video
width
Int
The substream video width in px.
height
Int
The substream video height in px.
resolutionName
String
The name of the substream video displayed in the player.

Getting keyframe timestamp information

This API is used to get the video keyframe timestamp information and will take effect only after id<ITXCPlayerAssistorProtocol>.requestVideoInfo is called back.
API
- (NSArray<TXCKeyFrameDescInfo *> *)getKeyFrameDescInfos;
Parameter description
The parameters of TXCKeyFrameDescInfo are as follows:
Parameter
Type
Description
timeOffset
Float
1.1
content
String
"Beginning now..."

Getting thumbnail information

This API is used to get the thumbnail information and will take effect only after id<ITXCPlayerAssistorProtocol>.requestVideoInfo is called back.
API
- (TXCImageSpriteInfo *)getImageSpriteInfo;
Parameter description
The parameters of TCXImageSpriteInfo are as follows:
Parameter
Type
Description
imageUrls
List
Array of thumbnail download URLs of String type.
webVttUrl
String
Thumbnail VTT file download URL.

Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback