VzaarSwift 1.1.0

VzaarSwift 1.1.0

测试已测试
语言语言 SwiftSwift
许可 未知
发布最后发布2018年12月
SPM支持 SPM

Andreas Bagias维护。



  • Vzaar Limited

README

为企业提供的视频托管。

  • Vzaar 是一个在线视频平台
  • 它允许您的客户通过 vzaar API 上传自己的视频。
  • 从 vzaar 数据库中提取信息,并将其与您的应用数据结合起来。
  • 例如,同步您的产品目录与您的视频,确保视频始终出现在正确的产品页面上。
  • 版本 1.1.0

文档

https://vzaar.readme.io/v2/reference

如何为 Swift 项目设置

  • 如果您的项目是在 Swift 中,可以创建一个如下所示的 Podfile

target 'YourProject' do

pod 'VzaarSwift'

end
use_frameworks!


然后打开一个终端窗口,将目录更改到您的项目并运行 'pod install'

  • 然后在您的 tableViewController.swift 中
#!swift

import VzaarSwift

  • 别忘了设置您的 client_id 和 auth_token
#!swift

Vzaar.sharedInstance().config = VzaarConfig(clientId: "<client-id>", authToken: "<auth-token>") 

视频

获取视频

#!swift

let vzaarGetVideosParameters = VzaarGetVideosParameters()
vzaarGetVideosParameters.page = 1
vzaarGetVideosParameters.per_page = 50

Vzaar.sharedInstance().getVideos(vzaarGetVideosParameters: vzaarGetVideosParameters, success: { (vzaarVideos) in

self.videos = vzaarVideos
//Handle UI response in Main Thread
self.tableView.reloadData()

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

获取视频(单部分)

#!swift
let getVideoParameters = VzaarGetVideoParameters(id: videoId)

Vzaar.sharedInstance().getVideo(vzaarGetVideoParameters: getVideoParameters, success: { (vzaarVideo) in

//Handle video from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

更新视频

#!swift
let updateVideoParameters = VzaarUpdateVideoParameters(id: Int32(videoId))
updateVideoParameters.title = "Text to update"

Vzaar.sharedInstance().updateVideo(vzaarUpdateVideoParameters: updateVideoParameters, success: { (video) in

//Handle the video from the response            

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

删除视频

#!swift
let deleteVideoParameters = VzaarDeleteVideoParameters(id: Int32(videoId))

Vzaar.sharedInstance().deleteVideo(vzaarDeleteVideoParameters: deleteVideoParameters, success: { 

//Handle the deleting of the video here

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

创建视频

#!swift
let createVideoParameters = VzaarCreateVideoParameters(guid: signature.guid)

Vzaar.sharedInstance().createVideo(videoCreationParameters: createVideoParameters, success: { (vzaarVideo) in

//Handle the video from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

上传视频

上传视频包括一个调用,执行以下操作:

  1. 创建一个签名(单个或多个部分)。
  2. 使用AWS服务上传视频。
  3. 从Vzaar获取视频。

以下是一个上传视频的单部分请求的示例

#!swift
#!swift
let singlePartVideoSignatureParameters = VzaarSinglePartVideoSignatureParameters()
singlePartVideoSignatureParameters.filename = name

let directory = NSTemporaryDirectory()
let lastPathComponent = (fileURLWithPath.absoluteString as NSString).lastPathComponent
let fullPath = directory + lastPathComponent
let fileURLPath = URL(fileURLWithPath: fullPath)

Vzaar.sharedInstance().uploadVideo(uploadProgressDelegate: self,
singlePartVideoSignatureParameters: singlePartVideoSignatureParameters,
fileURLPath: fileURLPath,
success: { (video) in

//Handle the video from the response.    

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

以下是一个上传视频的多部分请求的示例

#!swift
let multiPartVideoSignatureParameters = VzaarMultiPartVideoSignatureParameters(filename: "Filename.mp4", filesize: 52428800)

let directory = NSTemporaryDirectory()
let lastPathComponent = (fileURLWithPath.absoluteString as NSString).lastPathComponent
let fullPath = directory + lastPathComponent
let fileURLPath = URL(fileURLWithPath: fullPath)

Vzaar.sharedInstance().uploadVideo(uploadProgressDelegate: self, multiPartVideoSignatureParameters: multiPartVideoSignatureParameters, fileURLPath: fileURLPath, success: { (vzaarVideo) in

//Handle video from the response

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

类别

获取类别

#!swift
let categoriesParameters = VzaarGetCategoriesParameters()

Vzaar.sharedInstance().getCategories(vzaarGetCategoriesParameters: categoriesParameters, success: { (vzaarCategories) in

//Handle categories from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

获取类别子树

let categorySubtreeParameter = VzaarGetCategoriesSubtreeParameters(id: Int32(categoryId))

Vzaar.sharedInstance().getCategoriesSubtree(vzaarGetCategoriesSubtreeParameters: categorySubtreeParameter, success: { (vzaarCategories) in

//Handle categories from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

获取类别

#!swift
let categoryParameters = VzaarGetCategoryParameters(id: Int32(categoryId))

Vzaar.sharedInstance().getCategory(vzaarGetCategoryParameters: categoryParameters, success: { (vzaarCategory) in

//Handle category from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

创建类别

#!swift
let categoryParameters = VzaarCreateCategoryParameters(name: name)

Vzaar.sharedInstance().createCategory(vzaarCreateCategoryParameters: categoryParameters, success: { (category) in

//Handle category from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

更新类别

#!swift
let updateCategoryParameters = VzaarUpdateCategoryParameters(id: Int32(categoryId))
updateCategoryParameters.name = "Text to update the name"

Vzaar.sharedInstance().updateCategory(vzaarUpdateCategoryParameters: updateCategoryParameters, success: { (category) in

//Handle category from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

删除类别

#!swift
let deleteCategoryParameters = VzaarDeleteCategoryParameters(id: Int32(categoryId))

Vzaar.sharedInstance().deleteCategory(vzaarDeleteCategoryParameters: deleteCategoryParameters, success: { 

//Handle the deleting of the category.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

签名

创建单部分签名

#!swift
let singlePartVideoSignatureParameters = VzaarSinglePartVideoSignatureParameters()
singlePartVideoSignatureParameters.filename = name

Vzaar.sharedInstance().createSignature(singlePartVideoSignatureParameters: singlePartVideoSignatureParameters, success: { (vzaarSignature) in

//Handle signature from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

创建多部分签名

#!swift
let multiPartVideoSignatureParameters = VzaarMultiPartVideoSignatureParameters(filename: "filename.mp4", filesize: Int64(52428800))
multiPartVideoSignatureParameters.filename = name

Vzaar.sharedInstance().createSignature(multiPartVideoSignatureParameters: multiPartVideoSignatureParameters, success: { (vzaarSignature) in

//Handle signature from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

链接上传

创建链接上传

#!swift
let createLinkUploadParameters = VzaarCreateLinkUploadParameters(url: "the url")

Vzaar.sharedInstance().getLinkUpload(vzaarCreateLinkUploadParameters: createLinkUploadParameters, success: { (vzaarVideo) in

//Handle video from the response

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

摄取食谱

获取摄取食谱

#!swift
let ingestRecipesParameters = VzaarGetIngestRecipesParameters()

Vzaar.sharedInstance().getIngestRecipes(vzaarGetIngestRecipesParameters: ingestRecipesParameters, success: { (vzaarIngestRecipes) in

//Handle recipes from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

创建摄入配方

#!swift
//ids is an array of int32
let createIngestRecipeParameters = VzaarCreateIngestRecipeParameters(name: name, encoding_preset_ids: ids)

Vzaar.sharedInstance().createIngestRecipe(vzaarCreateIngestRecipeParameters: createIngestRecipeParameters, success: { (ingestRecipe) in

//Handle recipe from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

获取摄入配方

#!swift
let ingestRecipeParameters = VzaarGetIngestRecipeParameters(id: Int32(recipeId))

Vzaar.sharedInstance().getIngestRecipe(vzaarGetIngestRecipeParameters: ingestRecipeParameters, success: { (vzaarIngestRecipe) in

//Handle recipes from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

更新摄入配置

#!swift
let updateIngestRecipeParameters = VzaarUpdateIngestRecipeParameters(id: Int32(ingestRecipeId))
updateIngestRecipeParameters.name = "text to update for the ingest recipe"

Vzaar.sharedInstance().updateIngestRecipe(vzaarUpdateIngestRecipeParameters: updateIngestRecipeParameters, success: { (ingestRecipe) in

//Handle recipe from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

删除摄入配方

#!swift
let deleteIngestRecipeParameters = VzaarDeleteIngestRecipeParameters(id: Int32(ingestRecipeId))

Vzaar.sharedInstance().deleteIngestRecipe(vzaarDeleteIngestRecipeParameters: deleteIngestRecipeParameters, success: { 

//Handle recipe deleting here.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

编码预设

获取编码预设

#!swift
let encodingPresetsParameters = VzaarGetEncodingPresetsParameters()

Vzaar.sharedInstance().getEncodingPresets(vzaarGetEncodingPresetsParameters: encodingPresetsParameters, success: { (vzaarEncodingPresets) in

//Handle encoding Presets from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

获取编码预设详情

#!swift
let encodingPresetParameters = VzaarGetEncodingPresetParameters(id: Int32(encodingPresetId))

Vzaar.sharedInstance().getEncodingPresets(vzaarGetEncodingPresetsParameters: encodingPresetParameters, success: { (vzaarEncodingPreset) in

//Handle encoding Preset from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

播放列表

获取播放列表

#!swift
let playlistParameters = VzaarGetPlaylistsParameters()

Vzaar.sharedInstance().getPlaylists(vzaarGetPlaylistsParameters: playlistParameters, success: { (vzaarPlaylists) in

//Handle playlists from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

创建播放列表

#!swift
let createPlaylistParameters = VzaarCreatePlaylistParameters(title: "title of the playst", category_id: Int32(category_id))
createPlaylistParameters.max_vids = 0

Vzaar.sharedInstance().createPlaylist(vzaarCreatePlaylistParameters: createPlaylistParameters, success: { (vzaarPlaylist) in

//Handle playlist from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

获取播放列表

#!swift
let playlistParameters = VzaarGetPlaylistParameters(id: Int32(playlistId))

Vzaar.sharedInstance().getPlaylist(vzaarGetPlaylistParameters: playlistParameters, success: { (vzaarPlaylist) in

//Handle playlist from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

更新播放列表

#!swift
let updatePlaylistParameters = VzaarUpdatePlaylistParameters(id: Int32(playlistId))
updatePlaylistParameters.title = "text to update playlist"

Vzaar.sharedInstance().updatePlaylist(vzaarUpdatePlaylistParameters: updatePlaylistParameters, success: { (vzaarPlaylist) in

//Handle playlist from the response.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

删除播放列表

#!swift
let vzaarDeleteParameters = VzaarDeletePlaylistParameters(id: Int32(playlistId))

Vzaar.sharedInstance().deletePlaylist(vzaarDeletePlaylistParameters: vzaarDeleteParameters, success: { 

//Handle deleting the playlist here.

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

图像框架

设置图像框架

#!swift
let params = VzaarUpdateImageFrameParameters(id: Int32(videoId))
Vzaar.sharedInstance().updateImageFrame(vzaarUpdateImageFrameParameters: params, success: { (vzaarVideo) in

//Handle video from response

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

上传图像框架

let params = VzaarUploadImageFrameParameters(id: Int32(self.videoId), image: image)
Vzaar.sharedInstance().uploadImageFrame(vzaarUploadImageFrameParameters: params, success: { (vzaarVideo) in

//Handle video from response

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

字幕

获取字幕

let params = VzaarGetSubtitlesParameters(id: videoId)
Vzaar.sharedInstance().getSubtitles(vzaarGetSubtitlesParameters: params, success: { (vzaarSubtitles) in

//Handle subtitles array

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

创建字幕

let params = VzaarPostSubtitlesParameters(id: videoId)
params.code = languageCode //example: en , fr, de etc...
params.content = subtitlesContent //You can use either content or file parameter to create a Subtitle. File parameter is the fullPath to the subtitles file.
Vzaar.sharedInstance().createSubtitle(vzaarPostSubtitlesParameters: params, success: { (vzaarSubtitle) in

//Handle subtitle from response

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

更新字幕

let params = VzaarUpdateSubtitleParameters(id: videoId, subtitle: Int32(subtitleId))
params.code = languageCode //example: en , fr, de etc...
params.content = subtitlesContent //You can use either content or file parameter to create a Subtitle. File parameter is the fullPath to the subtitles file.
Vzaar.sharedInstance().updateSubtitle(vzaarUpdateSubtitleParameters: params, success: { (vzaarSubtitle) in

//Handle subtitle from response

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

删除字幕

let params = VzaarDeleteSubtitlesParameters(id: videoId, subtitle: Int32(subtitleId))
Vzaar.sharedInstance().deleteSubtitle(vzaarDeleteSubtitlesParameters: params, success: {

//Handle UI subtitle removal

}, failure: { (vzaarError) in
print(vzaarError)
}) { (error) in
print(error)
}

如何为Objective-c项目配置

  • 如果你的项目使用 objective-c,你必须使用特定的 pod 版本 '1.0.1-objc' 通过桥接头访问类和属性。
#!objective-c
target 'YourProject' do

pod 'VzaarSwift', '~> 1.0.4-objc'

end
use_frameworks!
  • 然后在你的 TableViewController.m 中
#!objective-c
@import VzaarSwift;
  • 别忘了设置您的 client_id 和 auth_token
#!objective-c
[Vzaar sharedInstance].config = [[VzaarConfig alloc]initWithClientId:@"client-id" authToken:@"auth-token"];
  • objective-c 中获取视频的请求示例:
#!objective-c
VzaarGetVideosParameters *getVideosParameters = [[VzaarGetVideosParameters alloc] init];

[[Vzaar sharedInstance] getVideosWithVzaarGetVideosParameters:getVideosParameters success:^(NSArray<VzaarVideo *> * vzaarVideos) {

self.videos = vzaarVideos;
[self.tableView reloadData];

} failure:^(VzaarError * vzaarError) {
NSLog(@"%@",vzaarError);
} noResponse:^(NSError * error) {
NSLog(@"%@",error);
}];