AVAssetWriter在使用HEVC和Alpha时崩溃-寻找解决方法
创始人
2024-11-12 20:30:28
0

这是一个已知的问题,出现在使用HEVC视频编码器和Alpha通道(透明度)的情况下。目前还没有找到完美的解决方案,但是我们可以尝试以下几种方法:

方法1:使用HEVC而不含Alpha 这解决了HEVC与Alpha通道产生的冲突问题,因为不含Alpha的HEVC编码器不会产生任何问题。下面的是使用AVAssetWriter进行写操作的示例代码,使用HEVC编解码器:

let videoURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("out.hevc") let assetWriter = try! AVAssetWriter(outputURL: videoURL, fileType: .mp4) let videoOutputSettings = [ AVVideoCodecKey : AVVideoCodecType.hevc, AVVideoWidthKey : 640, AVVideoHeightKey : 480, ] as [String : Any] let assetWriterVideoInput = AVAssetWriterInput(mediaType: .video, outputSettings: videoOutputSettings) assetWriter.add(assetWriterVideoInput)

方法2:将视频帧压缩为单独的Alpha和HEVC视频 这种方法需要将每个相邻的视频帧分离,并在HEVC和Alpha视频之间交替切换。由于这种方法需要额外的时间和空间,因此不适合所有情况。

方法3:使用其他编解码器 这种方法需要使用其他可用的编解码器,例如h.264,其可以同时使用HEVC和Alpha通道。下面的代码示例演示了如何在写入时使用h.264编解码器:

let assetWriter = try! AVAssetWriter(outputURL: videoURL, fileType: .mp4) let videoOutputSettings = [ AVVideoCodecKey : AVVideoCodecType.h264, AVVideoWidthKey : 640, AVVideoHeightKey : 480, ] as [String : Any] let assetWriterVideoInput = AVAssetWriterInput(mediaType: .video, outputSettings: videoOutputSettings) assetWriter.add(assetWriterVideoInput)

总之,我们需要在HEVC编码器和Alpha通道之间权衡,根据需要选择最适合应用程序的方法。

相关内容

热门资讯

aa扑克辅助!德州wpk辅助,... aa扑克辅助!德州wpk辅助,(aa poker)原本真的有挂(详细透视微扑克教程)1、不需要AI权...
wpk真的有外挂!aapoke... wpk真的有外挂!aapoker脚本透明,(aaPoker)原先是有挂(详细透视科技教程)准备好在w...
wpk俱乐部!德州wpk辅助真... wpk俱乐部!德州wpk辅助真的,(wEPOKE)本然是有挂(详细辅助必备教程)是由北京得wpk俱乐...
aapoker外挂!德州ai辅... aapoker外挂!德州ai辅助,(aaPoker)从前真的是有挂(详细辅助wpk教程);值得一提的...
智星德州菠萝偷偷看牌功能!微扑... 自定义智星德州菠萝偷偷看牌功能系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助...
aapoker透视辅助!微扑克... aapoker透视辅助!微扑克有挂,(WePoKer)从来是真的有挂(详细透视安装教程);aapok...
wpk发牌逻辑!wepoke管... wpk发牌逻辑!wepoke管理系统,(AApOKER)总是是有挂(详细透视透明教程);一、wpk发...
wepoke辅助机器人!德扑之... 此外,数据分析德州(wepoke辅助机器人)辅助神器app还具备辅助透视行为开挂功能,通过对客户we...
wepoke真的有挂!德扑ai... 1、wepoke真的有挂!德扑ai智能机器人线上代打,(德州机器人)素来真的有挂(详细透视靠谱教程)...
德扑之星辅助器购买!aa扑克发... 德扑之星辅助器购买!aa扑克发牌机制,(德州app)原来是有挂(详细透视切实教程);德扑之星辅助器购...