AVAssetWriterInput, невозможно выбрать разрешение видео?
Похоже, несмотря ни на что AVVideoWidthKey
, AVVideoHeightKey
, AVVideoCleanApertureWidthKey
, AVVideoCleanApertureHeightKey
Я выбираю, мое разрешение видео будет либо 320х240, либо 480х360.
Я пытаюсь сохранить видео в 480p, и все мои буферы 640x480, моя сессия в AVCaptureSessionPreset640x480
, все в 640x480, но все же мое выходное видео уменьшено.
я использую AVAssetWriterInputPixelBufferAdaptor
и CMSampleBufferRef
что я прошел в это, это в 640x480.
Я просмотрел все переполнения стека, но пока не нашел сообщения об этой проблеме.:/
1 ответ
Решение
Я использую этот параметр все время, и он работает. Вот пример кода.
self.compressionProperties = [[[NSMutableDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithInt:params.bps], AVVideoAverageBitRateKey,
[NSNumber numberWithInt:params.keyFrameInterval],AVVideoMaxKeyFrameIntervalKey,
//videoCleanApertureSettings, AVVideoCleanApertureKey,
params.videoProfileLevel, AVVideoProfileLevelKey,
nil ] autorelease];
self.videoSettings = [[[NSMutableDictionary alloc] initWithObjectsAndKeys:AVVideoCodecH264, AVVideoCodecKey,
[NSNumber numberWithInt:params.outWidth], AVVideoWidthKey,
[NSNumber numberWithInt:params.outHeight], AVVideoHeightKey,
self.compressionProperties, AVVideoCompressionPropertiesKey,
nil] autorelease];
...
wobj.writerInput = [[[AVAssetWriterInput alloc] initWithMediaType:AVMediaTypeVideo outputSettings:self.videoSettings] autorelease];