【问题标题】:crop landscape video into portrait video将横向视频裁剪为纵向视频
【发布时间】:2015-07-17 15:27:35
【问题描述】:

我想裁剪横向视频的异常值,使其具有纵向视频的尺寸比。

我在这篇文章中阅读了关于裁剪的信息:How do I use AVFoundation to crop a video

但我不确定如何设置转换 - 这个答案现在已经有四年多了,所以我不确定它如何适用于今天可用的更大屏幕尺寸。天呐!

【问题讨论】:

    标签: ios avfoundation video-processing


    【解决方案1】:

    这似乎可以解决问题:

    AVAssetTrack *clipVideoTrack = [[asset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
    
    AVMutableVideoComposition* videoComposition = [AVMutableVideoComposition videoComposition];
    float width = 1080.0/1920.0 * size.height;
    videoComposition.renderSize = CGSizeMake(width, size.height);
    videoComposition.frameDuration = CMTimeMake(1, 30);
    
    AVMutableVideoCompositionInstruction *instruction = [AVMutableVideoCompositionInstruction videoCompositionInstruction];
    instruction.timeRange = CMTimeRangeMake(kCMTimeZero, CMTimeMakeWithSeconds(60, 30) );
    
    AVMutableVideoCompositionLayerInstruction* transformer = [AVMutableVideoCompositionLayerInstruction videoCompositionLayerInstructionWithAssetTrack:clipVideoTrack];
    CGAffineTransform translate = CGAffineTransformMakeTranslation((width - size.width)/2, 0);
    translate = CGAffineTransformScale(translate, 1, 1);
    
    [transformer setTransform:translate atTime:kCMTimeZero];
    instruction.layerInstructions = [NSArray arrayWithObject:transformer];
    videoComposition.instructions = [NSArray arrayWithObject: instruction];
    
    encoder.videoComposition = videoComposition;
    

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-14
      相关资源
      最近更新 更多