gpt4 book ai didi

ios - 使用 AVMutableCompositionTrack 合并 AVMutableComposition 中的视频和图像,而不是 AVVideoCompositionCoreAnimationTool?

转载 作者:行者123 更新时间:2023-11-30 13:45:58 25 4
gpt4 key购买 nike

下面的代码使用 AVMutableComposition 导出视频。但是在导出的视频中,如果您希望图像在源视频结束后显示 3 秒,有没有办法使用 AVMutableCompositionTrack 来实现这一点,或者您是否需要添加图像层并对其进行动画处理视频结束后出现什么情况?

最终的目标是将任意数量的图像和视频合并到一个主视频中。

不幸的是,在测试过程中,AVVideoCompositionCoreAnimationTool 似乎严重减慢了导出过程(从 <1 秒到 10-20 秒),因此目标是避免 AVVideoCompositionCoreAnimationTool如果可能的话。

    // Create composition object
let composition = AVMutableComposition()
let compositionVideoTrack = composition.addMutableTrackWithMediaType(AVMediaTypeVideo, preferredTrackID: CMPersistentTrackID(kCMPersistentTrackID_Invalid))
let compositionAudioTrack = composition.addMutableTrackWithMediaType(AVMediaTypeAudio, preferredTrackID: CMPersistentTrackID(kCMPersistentTrackID_Invalid))
var insertTime = kCMTimeZero

// Extract tracks from slice video
let videoURL = NSURL(fileURLWithPath: videoPath)
let videoAsset = AVURLAsset(URL: videoURL, options: nil)
let sourceVideoTrack = videoAsset.tracksWithMediaType(AVMediaTypeVideo)[0]
let sourceAudioTrack = videoAsset.tracksWithMediaType(AVMediaTypeAudio)[0]
do {
try compositionVideoTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, videoAsset.duration), ofTrack: sourceVideoTrack, atTime: kCMTimeZero)
try compositionAudioTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, videoAsset.duration), ofTrack: sourceAudioTrack, atTime: kCMTimeZero)
} catch {
print("Error with insertTimeRange while exporting video: \(error)")
}

// Export composition to video
let outputURL = getFilePath(getUniqueFilename(gMP4File))
let exporter = AVAssetExportSession(asset: composition, presetName: AVAssetExportPresetHighestQuality)
exporter!.outputURL = NSURL(fileURLWithPath: outputURL)
exporter!.outputFileType = AVFileTypeMPEG4
exporter!.exportAsynchronouslyWithCompletionHandler({
self.exportDidFinish(exporter!)
})

最佳答案

在咨询了其他人并进行了更多的网络研究后,这似乎是不可能的。将图像与视频合并到可从应用程序中播放的主视频中似乎需要 AVVideoCompositionCoreAnimationTool。

关于ios - 使用 AVMutableCompositionTrack 合并 AVMutableComposition 中的视频和图像,而不是 AVVideoCompositionCoreAnimationTool?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34937862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com