- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面的代码使用 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/
我试图想出一种在 AVVideoCompositionCoreAnimationTool 导出期间执行实时模糊的方法。我已经尝试过 UIVisualEffectView 并窃取了底层 View 的图层
我很难确定为什么我只得到图像和音频而不是导出的视频。任何帮助将非常感激。如您所见,我也尝试过使用 videoCompositionCoreAnimationToolWithPostProcessing
我正在开发一个应用程序,它使用 AVMutableVideoComposition 和 AVVideoCompositionCoreAnimationTool(通过 AVExportSession 导
更新 6:我已经设法完全解决了我的问题,但我仍然想要一个比我猜测的更好的解释,这是如果我不正确的话它不起作用的原因 我一直在尝试在视频上制作 Sprite 表的动画,但每次导出视频时,最终结果都是我开
我正在尝试在 iOS 4.3 上使用 AVMutableComposition、AVMutableVideoComposition 和 AVVideoCompositionCoreAnimationT
以下代码可以完美地使用 AVVideoCompositionCoreAnimationTool 向视频添加 Logo 和文本。然后 Swift 3 来了!现在有时视频会显示带有 Logo 和文本,有时
我正在尝试将来自相机的视频与静态图像(加水印)混合。 我已经检查了这里的问题/答案和一些示例,包括来自 Apple 的 WWDC AVEditDemo,并以以下代码结尾。不幸的是,导出的视频不包含带有
下面的代码使用 AVMutableComposition 导出视频。但是在导出的视频中,如果您希望图像在源视频结束后显示 3 秒,有没有办法使用 AVMutableCompositionTrack 来
我正在尝试在 iOS 中创建一个视频组合,将 CIFilter 的应用程序和核心动画层的应用程序结合在一起。这两个操作都单独工作,但是尝试将它们组合在一起在一个过程中似乎行不通。 当使用 AVMuta
此代码用于在 iOS9 上为视频添加水印和文本,但自 iOS10 以来它不再起作用。有一个 iOS 10 bug已提交,但 Apple 没有答复。我无法实现任何解决方法来在视频上添加水印和文本。使用此
如果您想自己运行,这里有一个完整的项目:https://www.dropbox.com/s/5p384mogjzflvqk/AVPlayerLayerSoundOnlyBug_iOS10.zip?dl
我是一名优秀的程序员,十分优秀!