【问题标题】:How to use kCGImageDestinationLossyCompressionQuality in saving GIF from video如何使用 kCGImageDestinationLossyCompressionQuality 从视频中保存 GIF
【发布时间】:2016-01-08 03:34:04
【问题描述】:

我正在使用 Regift (https://github.com/matthewpalmer/Regift) 库将视频转换为 GIF,但我不喜欢保存的 GIF 的文件大小。该库正在使用CGImageDestinationAddImage 函数将视频的每一帧添加到文件中,该函数的一个参数是一个字典,可以让您指定图像的属性,您可以设置的属性之一被称为kCGImageDestinationLossyCompressionQuality 我想用它来尝试减小文件大小。

这是库中定义要传递给CGImageDestinationAddImage函数的属性字典的原始代码:

let frameProperties = [kCGImagePropertyGIFDictionary as String:
[
    kCGImagePropertyGIFDelayTime as String: delayTime
]]

我正在尝试修改此字典以包含 kCGImageDestinationLossyCompressionQuality 属性:

let frameProperties = [
kCGImageDestinationLossyCompressionQuality as String: 0.5,
kCGImagePropertyGIFDictionary as String:
[
    kCGImagePropertyGIFDelayTime as String: delayTime
]]

但是当我尝试将相同的视频文件重新转换为 GIF 时,质量或文件大小没有差异,这意味着设置该属性没有效果。我设置不正确吗?或者这个属性对 GIF 帧没有影响?

【问题讨论】:

    标签: ios video compression gif


    【解决方案1】:

    我不相信您可以为动画 gif 设置 kCGImageDestinationLossyCompressionQuality(关闭 this 答案)。您可以尝试在将电影文件转换为 gif 之前压缩或调整其大小。

    【讨论】:

      猜你喜欢
      • 2020-04-18
      • 2021-04-25
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 2016-12-09
      • 1970-01-01
      • 2017-08-26
      • 2017-05-17
      相关资源
      最近更新 更多