我会缩小尺寸的视频,可能是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];