【问题标题】:How can we get the trimmed video by time frames in iOS?我们如何在 iOS 中按时间帧获取修剪后的视频?
【发布时间】:2014-04-28 09:24:43
【问题描述】:

我需要按帧修剪录制的视频/预先录制的视频。我得到了AVCatureSession 的东西来获取它。但我无法确定如何使用第一个时间帧和第二个时间帧从选择中获取视频。这样我就可以在第一个和第二个时间帧之间获得修剪后的视频。 请指导我如何实现它。 运行代码将不胜感激。

【问题讨论】:

    标签: ios iphone avcapturesession video-editing


    【解决方案1】:

    您可以使用 AVMutableComposition 来完成此任务 与 Swift 5 兼容的代码

    extension AVAsset {      
        func assetByTrimming(startTime: CMTime, endTime: CMTime) throws -> AVAsset {
            let duration = CMTimeSubtract(endTime, startTime)
            let timeRange = CMTimeRange(start: startTime, duration: duration)
    
            let composition = AVMutableComposition()
    
            do {
                for track in tracks {
                    let compositionTrack = composition.addMutableTrack(withMediaType: track.mediaType, preferredTrackID: track.trackID)
                    compositionTrack?.preferredTransform = track.preferredTransform
                    try compositionTrack?.insertTimeRange(timeRange, of: track, at: CMTime.zero)
                }
            } catch let error {
                throw TrimError("error during composition", underlyingError: error)
            }
    
            return composition
        }
    

    }

    【讨论】:

      猜你喜欢
      • 2018-04-29
      • 2016-02-13
      • 2018-07-07
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 1970-01-01
      相关资源
      最近更新 更多