我有一个 mp4 文件不能准确搜索,向后搜索很慢。我相信这是由高度压缩的编码引起的。
使用 AVFoundation 重新编码此文件的最佳方法是什么,以便我可以使每一帧都成为关键帧?
设置(最大(关键帧间隔的标准方法是AVVideoMaxKeyFrameIntervalKey
。
对应的值是
NSNumber
的实例。1 表示关键帧 只是。
您可以将其应用于AVAssetWriter
对象,它可能类似于以下内容:
NSDictionary *compProps = @{ AVVideoAverageBitRateKey : @(bitsPerSecond),
AVVideoExpectedSourceFrameRateKey : @(30),
AVVideoMaxKeyFrameIntervalKey : @(1) };
_videoInput = [[AVAssetWriterInput alloc] initWithMediaType:AVMediaTypeVideo
outputSettings:compProps];
↳ AVVideoMaxKeyFrameIntervalKey