我会缩小尺寸的视频,可能是50像素,75像素长.那些是物理层面的.
你如何设定?在影片设置?我认为AVVideoWidthKey和AVVideoHeightKey更适合于不需要物理维度的分辨率.
NSDictionary *videoSettings = [NSDictionary dictionaryWithObjectsAndKeys: AVVideoCodecH264,AVVideoCodecKey,[NSNumber numberWithInt: 320],AVVideoWidthKey,[NSNumber numberWithInt:480],AVVideoHeightKey,nil]; AVAssetWriterInput* writerInput = [[AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeVideo outputSettings:videoSettings] retain
解决方法
您需要设置视频编解码器参数:
NSDictionary *videoCleanApertureSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:320],AVVideoCleanApertureWidthKey,AVVideoCleanApertureHeightKey,[NSNumber numberWithInt:10],AVVideoCleanApertureHorizontalOffsetKey,AVVideoCleanApertureVerticalOffsetKey,nil]; NSDictionary *videoAspectRatioSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:3],AVVideoPixelAspectRatioHorizontalSpacingKey,[NSNumber numberWithInt:3],AVVideoPixelAspectRatioVerticalSpacingKey,nil]; NSDictionary *codecSettings = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithInt:960000],AVVideoAverageBitRateKey,[NSNumber numberWithInt:1],AVVideoMaxKeyFrameIntervalKey,videoCleanApertureSettings,AVVideoCleanApertureKey,//videoAspectRatioSettings,AVVideoPixelAspectRatioKey,//AVVideoProfileLevelH264Main30,AVVideoProfileLevelKey,nil]; NSString *targetDevice = [[UIDevice currentDevice] model]; NSDictionary *videoSettings = [NSDictionary dictionaryWithObjectsAndKeys: AVVideoCodecH264,codecSettings,AVVideoCompressionPropertiesKey,[NSNumber numberWithInt:320],nil];