1
我有這個相機應用程序,我正在開發。在某些時候,我試圖寫的視頻,所以我創建一個assetWriter,我有這些行:AVAssetWriter失敗輸出設置與720p @ 60fps
CGFloat videoFrameWidth = size.width;
CGFloat videoFrameHeight = size.height;
NSUInteger numPixels = videoFrameWidth * videoFrameHeight;
NSUInteger bitsPerSecond;
NSUInteger bitsPerPixel = 11.4; // This bitrate matches the quality produced by AVCaptureSessionPresetHigh... this was copied from a code from Apple
bitsPerSecond = numPixels * bitsPerPixel;
NSDictionary *videoCompressionSettings = @{AVVideoCodecKey : AVVideoCodecH264,
AVVideoWidthKey : @(videoFrameWidth),
AVVideoHeightKey : @(videoFrameHeight),
AVVideoCompressionPropertiesKey : @{ AVVideoAverageBitRateKey : @(bitsPerSecond),
AVVideoMaxKeyFrameIntervalKey : @(fps)}
};
if ([_assetWriter canApplyOutputSettings:videoCompressionSettings forMediaType:AVMediaTypeVideo])
如果我記錄在1080 @ 30 fps的這種方法,完美的作品,但如果切換爲720P @這60幀最後一行失敗。
如果您移除AVVideoMaxKeyFrameIntervalKey鍵,會發生什麼情況?我想你是說每60幀就有一個關鍵幀。 –
它是有道理的,你說...我會嘗試,並回到這裏。所有這些東西都是如此糟糕的文件,你永遠不知道。我希望蘋果發射撒旦,今天是負責創建他們的開發工具和文檔... – SpaceDog
刪除該鍵做了訣竅,但現在的視頻創建,但始終在30幀/秒,即使我在60或更高的FPS拍攝.. – SpaceDog