iOS播放与编辑HDR视频

这篇具有很好参考价值的文章主要介绍了iOS播放与编辑HDR视频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在iPhone12发布后,支持使用Dolby Vision来录制HDR视频。至此,升级到iOS14.1系统后,已经支持录制、播放、编辑和导出HDR视频。接下来,让我们一起探索HDR视频的各种操作。

一、HDR视频边编辑边预览

1、Profile与Level

HDR视频中,Dolby Vision的Profile档次是8,同时兼容HLG格式。关于Dolby Vision的完整档次如下表所示:

iOS播放与编辑HDR视频

默认的Dolby Vision是8.4,其中4代表Level等级,对应是1920x1080@30。完整的等级如下表所示:

iOS播放与编辑HDR视频

2、编码器类型

编码器类型是HEVC,位深是10bit(HDR+对应的是12bit),像素格式为420YpCbCr10BiPlanarVideoRange 

3、自定义Composition

我们可以使用AVVideoComposition来编辑HDR视频,也可以自定义Composition。其中,需要设置supportsHDRSourceFrames=true,supportsWideColorSourceFrames=true。具体代码如下:

iOS播放与编辑HDR视频

4、传递函数

在Video Composition中,我们需要设置colorPrimaries、colorTransferFunction、colorYCbCrMatrix。对应如下:

videoComposition.colorPrimaries = AVVideoColorPrimaries_ITU_R_2020
videoComposition.colorYCbCrMatrix = AVVideoYCbCrMatrix_ITU_R_2020
videoComposition.colorTransferFunction = AVVideoTransferFunction_ITU_R_2100_HLG

5、预览播放

在AVPlayer中,使用eligibleForHDRPlayback()判断是否支持HDR播放。

二、HDR视频导出

我们有两种方法导出HDR视频,第一种用AVAssetExportSession,第二种用AVAssetWriter。

1、AVAssetExportSession

从Asset读入视频,经过AVVideoComposition处理,使用AVAssetExportSession导出HDR视频,同时支持用AVPlayer来播放预览。示意图如下:

iOS播放与编辑HDR视频

2、AVAssetWriter

如果不需要预览视频,可以直接用AVAssetWriter来导出HDR视频。来源可以是Asset,也可以是AVCaptureVideoDataOutput。示意图如下:

iOS播放与编辑HDR视频

三、HDR转SDR

HDR转SDR需要tonemapping色调映射,同时把10bit转为8bit,一般是BT.2020转为BT.709。有多种方式进行转换,具体如下:

1、AVVideoComposition

使用AVVideoComposition对应的配置代码如下:

videoComposition.colorPrimaries = AVVideoColorPrimaries_ITU_R_709_2
videoComposition.colorYCbCrMatrix = AVVideoYCbCrMatrix_ITU_R_709_2
videoComposition.colorTransferFunction = AVVideoTransferFunction_ITU_R_709_2

2、AVAssetWriter

使用AVAssetWriter对应的配置代码如下:

videoOutputSettings[AVVideoColorPropertiesKey]
 = [AVVideoColorPrimariesKey:
      AVVideoColorPrimaries_ITU_R_709_2,
    AVVideoTransferFunctionKey:
      AVVideoTransferFunction_ITU_R_709_2,
    AVVideoYCbCrMatrixKey:
      AVVideoYCbCrMatrix_ITU_R_709_2]

3、VTDecompressionSession

如果直接用VTDecompressionSession来解码,对应代码如下:

let pixelTransferProperties
= [kVTPixelTransferPropertyKey_DestinationColorPrimaries:
            kCVImageBufferColorPrimaries_ITU_R_709_2,
      kVTPixelTransferPropertyKey_DestinationTransferFunction:
            kCVImageBufferTransferFunction_ITU_R_709_2,
      kVTPixelTransferPropertyKey_DestinationYCbCrMatrix:
            kCVImageBufferYCbCrMatrix_ITU_R_709_2]

4、AVPlayerItemVideoOutput

如果使用AVPlayer来播放,可以用AVPlayerItemVideoOutput来配置相关属性 :

let attributes
= [kCVImageBufferYCbCrMatrixKey:
      CVImageBufferYCbCrMatrix_ITU_R_709_2,
   kCVImageBufferColorPrimariesKey:
      kCVImageBufferColorPrimaries_ITU_R_709_2,
   kCVImageBufferTransferFunctionKey:
kCVImageBufferTransferFunction_ITU_R_709_2]
let videoOutput = AVPlayerItemVideoOutput(pixelBufferAttributes:
attributes as [String: Any])

参考链接:

Edit and play back HDR video with AVFoundation

Export HDR media in your app with AVFoundation

Incorporating HDR video with Dolby Vision文章来源地址https://www.toymoban.com/news/detail-444356.html

到了这里,关于iOS播放与编辑HDR视频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 美摄视频SDK的HDR格式编辑方案

    在当今的视觉媒体时代,高动态范围(HDR)技术已成为高质量视频内容的标配。为了满足企业对高效、高质量视频处理的需求,美摄科技推出了业界领先的视频SDK,全面支持多种HDR标准的图像视频进行处理。 一、核心优势 HDR全覆盖: 美摄科技的HDR视频SDK支持主流的HDR10、H

    2024年01月19日
    浏览(29)
  • 使用WinRa1n越狱iOS 16.7版本,支持iPhone 5s ~ X

    WinRa1n是由iKeystools团队开发的一款越狱工具,支持IOS 12.2 ~ 16.7直接越狱,完全的Windows平台,使用简单,操作容易上手,完全有必要单独写一篇文章。 支持的三种越狱模式: 1, CheckM8  支持引导未签名的img4文件,说明白就是进入Pwndfu模式。新手用不上。 2, Checkra1n 0.12.4  是我

    2024年02月04日
    浏览(320)
  • [AudioRecorder]iPhone苹果通话录音汉化破解版-使用巨魔安装-ios17绕道目前还不支持

    首先你必须有 巨魔 才能使用!! 不会安装的,还没安装的 移步这里 ,ios17 以上目前装不了,别看了:永久签名 | 网址分类目录 | 路灯iOS导航-苹果签名实用知识网址导航-各种iOS技巧-后厂村路灯  视频教程 【AudioRecorder】iPhone通话录音汉化破解版-使用巨魔安装-ios17绕道目前

    2024年02月20日
    浏览(155)
  • 【Unity】AVPro使用踩坑,编辑器模式使用视频播放正常,打包后视频无法播放的问题

    这个主要是AVPro的坑 一般使用会直接Browse给取文件路径,然后面板上面就能看到视频文件的名字,这个方法在编辑器模式下播放是可以获取到文件的,所以没问题。 但是打包后路径变化,拉取到的地址就不对了。 首先把视频资源改存到StreamingAssets文件夹路径下,然后路径获

    2024年02月16日
    浏览(37)
  • 编辑视频无需第三方软件,在iPhone上也可以轻松编辑视频

    如果你学会了如何在iPhone上编辑视频,你可以在很大程度上把匆忙拍摄的视频变成适合好莱坞的视频。好吧,也许这有点夸张了,但至少,你可以通过使用照片应用程序中的编辑工具,让你的视频看起来更令人印象深刻。 虽然它不一定能与最好的视频编辑软件相匹配,但它仍

    2024年02月07日
    浏览(35)
  • 苹果iOS 16.6 RC发布:或为iPhone X/8系列养老版本

    今天苹果向iPhone用户推送了iOS 16.6 RC更新(内部版本号:20G75),这是时隔两个月的首次更新。 按照惯例RC版基本不会有什么问题,会在最近一段时间内直接变成正式版,向所有用户推送。 需要注意的是,鉴于iOS 17正式版即将到来,后续iOS 16大概率不会带来任何新功能的更新,只

    2024年02月16日
    浏览(30)
  • HFZ Activator Ramdisk绕过iPhone/ipad激活锁,支持最新iOS15.0-iOS16.3

    由HZF团队开发的HFZ Activator Ramdisk 是一款绕过iPhone/ipad激活锁的软件,软件支持最新iOS15.0 -iOS16.3的设备绕过激活锁界面进入系统正常连接WiFi使用,不需要改码,支持完美重启,可以开关机,支持登录iCloud,支持App Store下载软件,Facetime、 Siri 、 iMessage、 消息通知推送。 工具官

    2024年02月04日
    浏览(89)
  • 解决播放swf视频提示“该版本过旧,不支持运行,请升级后使用”的问题

    编辑 C:WindowsSystem32driversetc 目录下的 hosts 文件(先复制一份作为备份),在最后添加以下内容: 127.0.0.1 geo2.adobe.com 127.0.0.1 fpdownload2.macromedia.com 127.0.0.1 fpdownload.macromedia.com 127.0.0.1 macromedia.com 保存即可。 如果提示无法编辑,没有权限的话,鼠标右键这个文件,属性,安全选

    2024年02月08日
    浏览(25)
  • 让苹果iOS的手机iPhone和电脑Safari浏览器支持油猴脚本

    官方的AppStore是没有油猴插件(Tampermonkey)的,官方插件不仅少,功能被阉割,相对弱小,还收费。嗯,这很苹果第三方拓展。 这是油猴插件(Tampermonkey)的下载地址,上面是老版本,下面是新版本。 https://safari.tampermonkey.net/tampermonkey.safariextz https://www.tampermonkey.net/?browser=s

    2024年02月07日
    浏览(91)
  • SwiftUI 视频教程之 快速播放本地视频,URL 播放视频,自动播放视频,视频结束通知VideoPlayer (iOS 14 +)

    iOS 14引入了viewAVKit的世界。显示实例的内容。在框架内部定义,让我们可以在本地播放视频,而无需从.SwiftUIVideoPlayerVideoPlayerAVPlayerViewAVKitSwiftUIUIKit VideoPlayer以 player 作为初始化参数,是 AVPlayer 的一个实例。 通过 URL 播放视频 带叠加层的视频播放器 自动播放视频 视频结束通

    2024年02月06日
    浏览(101)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包