AVAssetWriter-我可以使用无损编解码器编写吗?

时间:2019-02-04 12:54:08

标签: macos cocoa avassetwriter

我正在制作动画应用程序。我想将一系列NSImage对象导出到视频文件,每个对象代表一个渲染的动画帧。我已经确认,通过渲染NSImage生成的NSView对象是未压缩的,并且是原始NSView内容的完美表示。但是,当我用AVAssetWriter编写视频文件时,视频显然被压缩了。

我发现最好的质量是使用AVVideoCodecTypeJPEG,并将@{AVVideoQualityKey : @(1.0)}传递为AVVideoCompressionPropertiesKey。但是,质量仍然不够完美。

在下面的屏幕快照中,左侧的图像是应用程序窗口,其中显示了NSView中的内容。右边的图像是在Quicktime中打开的导出视频。如您所见,渲染的图像更暗,着色与原始图像不同。放大图像会发现其他压缩伪像。

这是用于像素图形项目的,因此,导出的视频与动画软件中显示的逐像素相同非常重要。我猜我需要使用其他编解码器,但是尝试了AVVideoCodecType上所有可用的编解码器之后,没有一个提供合适的输出。

enter image description here

0 个答案:

没有答案