简体   繁体   中英

I want to Apply Filters to the recorded Video without using any third Party Framework .I had tried to use CIfilter to CAlayer but its not Working

I want to Apply Filters to the Prerecorded Video without using using any third Party Framework How can I do It.I had tried to use CIfilter to CAlayer but its not Working.Here is my code:

 CALayer *effectlayer=[CALayer layer];
    CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"
                                  keysAndValues: kCIInputImageKey,effectlayer,
                        @"inputIntensity", @.5, nil];


    [effectlayer setFilters:[NSArray arrayWithObjects:filter, nil]];

    CALayer *parentLayer = [CALayer layer];
    CALayer *videoLayer=[CALayer layer];
    parentLayer.frame = CGRectMake(0, 0, size.width, size.height);
    videoLayer.frame = CGRectMake(0, 0, size.width, size.height);
    [parentLayer addSublayer:videoLayer];
    [parentLayer addSublayer:overlayLayer];

    [parentLayer addSublayer:overlayLayero];
    [parentLayer addSublayer:effectlayer];

Here is the code for my Answer :

// 1 - set up the overlay
CALayer *overlayLayer = [CALayer layer];
UIImage *overlayImage = nil;


overlayImage = [UIImage imageNamed:@"your Image name"];


[overlayLayer setContents:(id)[overlayImage CGImage]];
overlayLayer.frame = CGRectMake(0, 0, size.width, size.height);
[overlayLayer setMasksToBounds:YES];

// 2 - set up the parent layer
CALayer *parentLayer = [CALayer layer];
CALayer *videoLayer = [CALayer layer];
parentLayer.frame = CGRectMake(0, 0, size.width, size.height);
videoLayer.frame = CGRectMake(0, 0, size.width, size.height);
[parentLayer addSublayer:videoLayer];
[parentLayer addSublayer:overlayLayer];

// composiontion is instance of your AVMutableVideoComposition
composition.animationTool = [AVVideoCompositionCoreAnimationTool
                             videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer inLayer:parentLayer];

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM