ios – 如何使用AVAssetWriter缩小尺寸的视频?

前端之家收集整理的这篇文章主要介绍了ios – 如何使用AVAssetWriter缩小尺寸的视频?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我会缩小尺寸的视频,可能是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];

猜你在找的iOS相关文章