I need to add watermark to video but different oriented videos. Below codes are working for me when i add watermark to portrait video, but this code is not working for landscape videos, watermark become stressed.
UIImage *myImage;
myImage =[UIImage imageNamed:@"twinbitWaterMark"];
CALayer *layerCa = [CALayer layer];
layerCa.contents = (id)myImage.CGImage;
float newX = videosize.width - imagesize.width;
float newY = videosize.height - imagesize.height;
layerCa.frame = CGRectMake(newX, newY, videosize.width*2, videosize.height*2);
layerCa.opacity = 1.0;
[layerCa setMasksToBounds:YES];
CALayer *parentLayer=[CALayer layer];
CALayer *videoLayer=[CALayer layer];
parentLayer.frame=CGRectMake(0, 0, videosize.width, videosize.height);
videoLayer.frame=CGRectMake(0, 0, videosize.width, videosize.height);
[parentLayer addSublayer:videoLayer];
[parentLayer addSublayer:layerCa];
composition.animationTool = [AVVideoCompositionCoreAnimationTool
videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer inLayer:parentLayer];
Please help.
I think it is an mistake in your calculation:
Your watermark has landscape or watermark orientation.
By calculating the width and height
you are not preserving the original watermark ratio.
In landscape you have to calculate an offset left and right to your frame to preserve the ratio.