私はAVCaptureを使ってビデオを記録しています。私はビデオをトリミングする必要があります。私はiOS AVWritterセンターからビデオオフセットを切り出すキー
AVVideoWidthKey : [NSNumber numberWithInteger:outputSize.width],
AVVideoHeightKey : [NSNumber numberWithInteger:outputSize.height],
を設定することによってそれを行うことができた。しかし、私はオフセット、私はそれがデフォルトで動作するように、中心からトリミングしたくないとクロップする必要があります。
私はAVVideoCleanApertureVerticalOffsetKey
を使用すると、このキーの値はAVVideoCleanAperture *キーのキーを含むNSDictionaryのであること。達成できることをAVFoundationで
AVVideoSettings.h
で読みますAVVideoCleanApertureWidthKeyとAVVideoCleanApertureHeightKeyは、ビデオフレームの中央に配置されたクリーンな矩形を定義します。この矩形を中央からオフセットするには、AVVideoCleanApertureHorizontalOffsetKeyおよびAVVideoCleanApertureVerticalOffsetKeyを使用します。 AVVideoCleanApertureHorizontalOffsetKeyの正の値はクリーンアパーチャ領域を右に移動し、AVVideoCleanApertureVerticalOffsetKeyの正の値はクリーンアパーチャ領域を下に移動します。
私は次のことを試していますが、オフセットなしで中央で切り抜くだけです。
NSDictionary *videoCleanApertureSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInteger:outputSize.width], AVVideoCleanApertureWidthKey,
[NSNumber numberWithInteger:outputSize.height], AVVideoCleanApertureHeightKey,
[NSNumber numberWithInteger:0], AVVideoCleanApertureHorizontalOffsetKey,
[NSNumber numberWithInteger:-200], AVVideoCleanApertureVerticalOffsetKey,
nil];
NSMutableDictionary *compressionSettings = [NSMutableDictionary dictionaryWithObject:[NSNumber numberWithUnsignedLong:bitrate] forKey:AVVideoAverageBitRateKey];
[compressionSettings setObject:videoCleanApertureSettings forKey:AVVideoCleanApertureKey];
if (self.shouldKeepOnlyKeyFrames) {
[compressionSettings setObject:@1 forKey:AVVideoMaxKeyFrameIntervalKey];
}
if (self.profileLevel) {
[compressionSettings setObject:self.profileLevel forKey:AVVideoProfileLevelKey];
}
[compressionSettings setObject:@NO forKey:AVVideoAllowFrameReorderingKey];
[compressionSettings setObject:@30 forKey:AVVideoExpectedSourceFrameRateKey];
return @{
AVVideoCodecKey : self.codec,
AVVideoScalingModeKey : self.scalingMode,
AVVideoWidthKey : [NSNumber numberWithInteger:outputSize.width],
AVVideoHeightKey : [NSNumber numberWithInteger:outputSize.height],
AVVideoCompressionPropertiesKey : compressionSettings
};