gpt4 book ai didi

avfoundation - AVAssetWriter 无法使用 AVVideoProfileLevelKey 对视频进行编码

转载 作者:行者123 更新时间:2023-12-02 03:43:39 25 4
gpt4 key购买 nike

谁能帮我解决这个问题?我可以使用具有以下输出设置的 AVAssetWriter 对视频进行编码。

NSDictionary *videoCompressionSettings = [NSDictionary dictionaryWithObjectsAndKeys:
AVVideoCodecH264, AVVideoCodecKey,
[NSNumber numberWithInteger:dimensions.width], AVVideoWidthKey,
[NSNumber numberWithInteger:dimensions.height], AVVideoHeightKey,
[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInteger:bitsPerSecond], AVVideoAverageBitRateKey,
[NSNumber numberWithInteger:30],AVVideoMaxKeyFrameIntervalKey,
nil], AVVideoCompressionPropertiesKey,
nil];

但是,当我尝试通过指定一个配置文件进行编码时,说 AVVideoProfileLevelH264Baseline30 输出设置之后看起来像

NSDictionary *videoCompressionSettings = [NSDictionary dictionaryWithObjectsAndKeys:
AVVideoCodecH264, AVVideoCodecKey,
[NSNumber numberWithInteger:dimensions.width], AVVideoWidthKey,
[NSNumber numberWithInteger:dimensions.height], AVVideoHeightKey,
[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInteger:bitsPerSecond], AVVideoAverageBitRateKey,
[NSNumber numberWithInteger:30],AVVideoMaxKeyFrameIntervalKey,
AVVideoProfileLevelH264Baseline30,AVVideoProfileLevelKey,
nil], AVVideoCompressionPropertiesKey,
nil];

我的视频录制因这些设置而失败。

那么我的问题在哪里呢?我已经像这样初始化了 Asset writer

_assetWriter = [[AVAssetWriter alloc] initWithURL:_movieURL fileType:AVFileTypeMPEG4 error:&error];

最佳答案

我也遇到过这种情况。对我来说,问题只出现在 OS X 10.7 (Lion) 上,它根本不支持 AVVideoProfileLevelKey ...您仍然可以在 H.264 中编码,但只需要省略该参数,操作系统将处理选择一个配置文件以利用。如果您在 OS X 10.8/10.9 或 iOS 4 或更高版本上看到此失败,则说明您遇到了其他问题。

关于avfoundation - AVAssetWriter 无法使用 AVVideoProfileLevelKey 对视频进行编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18505140/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com