首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVAssetWriterInput目前不支持AVVideoScalingModeFit - IOS错误。

AVAssetWriterInput目前不支持AVVideoScalingModeFit - IOS错误。
EN

Stack Overflow用户
提问于 2015-09-20 01:41:26
回答 1查看 483关注 0票数 4

我正在尝试使用AVAssetWriterInput来裁剪我在应用程序屏幕上看到的视频。这是我目前的配置。

代码语言:javascript
复制
NSDictionary *videoCleanApertureSettings = [NSDictionary dictionaryWithObjectsAndKeys:
                                            [NSNumber numberWithInt:320], AVVideoCleanApertureWidthKey,
                                            [NSNumber numberWithInt:480], AVVideoCleanApertureHeightKey,
                                            [NSNumber numberWithInt:10], AVVideoCleanApertureHorizontalOffsetKey,
                                            [NSNumber numberWithInt:10], 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,
                               AVVideoProfileLevelH264BaselineAutoLevel, AVVideoProfileLevelKey,
                               nil];

NSDictionary *videoSettings = @{AVVideoCodecKey:AVVideoCodecH264,
                                AVVideoCompressionPropertiesKey:codecSettings,
                                AVVideoScalingModeKey:AVVideoScalingModeResizeAspectFill,
                                AVVideoWidthKey:[NSNumber numberWithInt:320],
                                AVVideoHeightKey:[NSNumber numberWithInt:480]};

_videoWriterInput = [AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeVideo outputSettings:videoSettings];

我收到以下错误:"AVAssetWriterInput目前不支持AVVideoScalingModeFit“

对于任何使用这个库的人来说,这是一个常见的错误,但是我找不到它的实际解决方案。我只是看到人们说:“我终于想出来了”,但没有解释。这个问题肯定与这一行有关:"AVVideoScalingModeKey:AVVideoScalingModeResizeAspectFill,“,它告诉AVAssetWriter裁剪视频并保持高宽比。有人知道解决这个问题的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-12 23:47:20

就其本身而言,没有“解决办法”。这根本是不支持的。您将需要自己缩放视频帧使用核心图像或VTPixelTransferSession或任何适合您的管道。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32674916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档