Videokomprimierung: Verringern Sie die Größe eines Videos mithilfe von AVAssetWriter

Es ist mir gelungen, eine Reihe von Bildern, die mit AVCaptureVideoPreviewLayer von AVFoundation Framework aufgenommen wurden, mit AVAssetWriter und AVAssetWriterInput in ein Video zu kodieren.

Aber die Größe des Videos ist zu groß. Kann mir jemand von euch in diesem Fall ein Tutorial oder zumindest eine Direkthilfe vorschlagen oder mir die richtigen Videoausgabeeinstellungen für die Videokomprimierung geben.

Ich verwende das folgende 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;

Antworten auf die Frage(0)

Ihre Antwort auf die Frage