Сжатие видео ios: уменьшите размер видео с помощью AVAssetWriter
Я успешно кодирую серию изображений, захваченных AVCaptureVideoPreviewLayer из AVFoundation Framework в видео, используя AVAssetWriter и AVAssetWriterInput.
Но размер видео слишком велик. Может кто-нибудь из вас порекомендует мне учебник, или, по крайней мере, направит меня в этом случае, или даст мне правильные настройки вывода видео для сжатия видео.
Я использую следующий VideoOutputSetting.
videoOutputSettings = @{
AVVideoCodecKey: AVVideoCodecH264,
AVVideoWidthKey: [NSNumber numberWithInt:width],
AVVideoHeightKey: [NSNumber numberWithInt:height],
AVVideoCompressionPropertiesKey: @{
AVVideoAverageBitRateKey: [NSNumber numberWithInt:bitrate],
AVVideoMaxKeyFrameIntervalKey: @(150),
AVVideoProfileLevelKey: AVVideoProfileLevelH264BaselineAutoLevel,
AVVideoAllowFrameReorderingKey: @NO,
AVVideoH264EntropyModeKey: AVVideoH264EntropyModeCAVLC,
AVVideoExpectedSourceFrameRateKey: @(30),
AVVideoAverageNonDroppableFrameRateKey: @(30)
}
};
videoWriterInput = [AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeVideo outputSettings:videoSettings];
_videoWriterInput.expectsMediaDataInRealTime = YES;