币游国际平台

OS视频转换

最新更新日期:Oct-31-2023

概述

上传视频云化后,可多方式转换

变换和交付视频语法通常相似图像语法,您也可以将大多数可用图像变换应用到视频中。举例说,您可调整大小、裁剪、旋转、设置视频质量和格式,在视频中添加文本或图像叠加等

还有一些特殊选项可供转换和提供视频内容使用举例说,你可以调整它们的大小、形状、速度、持续时间、质量和外观还有一些声音特有特征

本节介绍视频专用iOS转换功能
视频转换功能全细节见视频转换变换URLAPI引用.

视频转换功能

变换特征对图像和视频同样相关,如重定大小、裁剪、旋转、添加文本或图像叠加和设置视频质量或格式等,除此之外,还有各种特殊变换视频可用举例说,您可:

可选择指定所有以上转换视频使用生成图像标签方法或直接URL构建指令

提供视频

使用CreateUrl方法生成视频URL确定包含资源类型参数集为视频

Swift
cloudinary.createUrl().setResourceType("video").generate("sample.mp4")

// returns: http://res.www.agrosoland.com/demo/video/upload/sample.mp4

请求中也可以包括变换参数,例如返回URL视频加宽400像素

Swift
cloudinary.createUrl().setResourceType("video")
  .setTransformation(CLDTransformation()
    .setWidth(400).setCrop("pad"))
  .generate("sample.mp4")

// returns: http://res.www.agrosoland.com/demo/video/upload/c_pad,w_400/sample.mp4

重要点
想要使用HLS协议流视频时,请确定将流描述像热切变换一样载入上传预置和变换定义中更多细节见 HLS文档

云式本地视频播放器

OSSDK中还包含基于云式本地视频播放器AVPlayer系统.方便使用各种云视频功能并使用本地播放器传送视频

创建播放器使用Viewoplayer函数初始化,提供视频公共标识或全云式URL

Swift
//Public id
let player = CLDVideoPlayer(publicId: "dog", cloudinary: cloudinary)

//URL string
let player = CLDVideoPlayer(url: "https://res.www.agrosoland.com/demo/video/upload/sp_auto/dog.m3u8")

//URL
let player = CLDVideoPlayer(url: URL(string: "https://res.www.agrosoland.com/demo/video/upload/sp_auto/dog.m3u8"))

拥有玩家实例后,可嵌入AVPlayerViewController使用在您的视图中

举个例子

Swift
    let player = CLDVideoPlayer(publicId: "dog", cloudinary: cloudinary)
    let playerController = AVPlayerViewController()

    playerController.player = player
    addChild(playerController)
    playerController.videoGravity = .resizeAspectFill
    videoView.addSubview(playerController.view)
    playerController.view.frame = videoView.bounds
    playerController.view.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    playerController.didMove(toParent: self)
    player.play()

变换

包括视频变换Viewoplayer实例使用方式与使用时相同CreateUrl方法论初始化播放器时定义变换例举 :

Swift
let player = CLDVideoPlayer(publicId: "dog", cloudinary: cloudinary, transformation: CLDTransformation().setEffect("reverse"))

注解

自动流剖选择默认启动 。中位显示有限数组变换并用它,因此使用变换时 自动流剖选择将被禁用如果要同时输入,请检查您的变换得到支持并设置自动流剖面选择automaticStreamingProfile: true初始化玩家时, 例如 :

Swift
  let player = CLDVideoPlayer(publicId: "dog", cloudinary: cloudinary, transformation: CLDTransformation().setStartOffset("3.0"), automaticStreamingProfile: true)

视频转换实例

本节举例说明使用iOS代码应用上一节中提及的一些视频变换特征

实例1:

下示例调整大小狗狗视频到40%原创尺寸并旋转20度并加半透明右下角云标识,使用东南重力调整xy坐标达旋转视频角

Swift
cloudinary.createUrl().setResourceType("video")
  .setTransformation(CLDTransformation()
    .setWidth(0.4).setAngle(20).chain()
    .setOverlay("cloudinary_icon_white")
      .setWidth(60).setOpacity(50).setGravity("south_east").setY(15).setX(60))
  .generate("dog.mp4")

实例2

下示例调整滑雪视频的亮度, 并设置半径最大度以产生像望远镜效果后转录影带拷贝反转接并重播,但慢动作

Swift
cloudinary.createUrl().setResourceType("video")
  .setTransformation(CLDTransformation()
    .setOverlay("video:ski_jump").setFlags("splice").setEffect("reverse").chain()
    .setOverlay("video:ski_jump").setFlags("splice").setEffect("accelerate:-50").chain()
    .setEffect("brightness:10").setRadius("max"))
  .generate("ski_jump.mp4")

实例3

下示例返回前10秒狗狗视频视频使用斜板裁剪法裁剪360X480,并按70%质量生成控制文件大小

Swift
cloudinary.createUrl().setResourceType("video")
  .setTransformation(CLDTransformation()
    .setHeight(360).setWidth(480).setQuality(70).setDuration("10").setCrop("pad"))
  .generate("dog.mp4")

帮助我们提高SDK
我们想听听你对使用iOSSDK的想法请花点时间完成 短调查.
感谢时间

反馈发送