swift 更正AVExportSession的视频转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 更正AVExportSession的视频转换相关的知识,希望对你有一定的参考价值。

let preferredTransform = originalVideoTrack.preferredTransform
let finalTransform: CGAffineTransform
// These if statements were added to handle time lapse videos which use abcd for transforms
// and not tx, ty
if preferredTransform.a == -1 && preferredTransform.d == -1 {
    transform = transform.scaledBy(x: -1, y: -1)
    finalTransform = transform.translatedBy(x: -outputVideoSize.width, y: -outputVideoSize.height)
} else if preferredTransform.b == 1 && preferredTransform.c == -1 {
    transform = transform.rotated(by: CGFloat.pi/2)
    finalTransform = transform.translatedBy(x: 0, y: -outputVideoSize.width)
} else if preferredTransform.b == -1 && preferredTransform.c == 1 {
    transform = transform.rotated(by: -CGFloat.pi/2)
    finalTransform = transform.translatedBy(x: -outputVideoSize.height, y: 0)
} else {
    finalTransform = preferredTransform.concatenating(transform)
}

以上是关于swift 更正AVExportSession的视频转换的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用 AVAssetWriter 代替 AVExportSession 吗?

带有流式 AVAsset -11800 错误的 AVExportSession

Swift仅将.uppercaseString应用于字符串的第一个字母

Swift 中的 UIView 子类:IBOutlet 在展开时发现为零

Swift 中的构造函数

最简单的视音频播放演示样例7:SDL2播放RGB/YUV