【发布时间】:2018-02-21 12:43:06
【问题描述】:
对于 c++ 项目,我需要打开并显示 HEIF (.heic) 图像。我知道(如果我是对的)HEIF 图像基于 ffmpeg 标准,并且需要读取 H265 编解码器。
我找到了几个开源 H265 编解码器:
- OpenHEVC (https://github.com/OpenHEVC/openHEVC)
- x265 (https://bitbucket.org/multicoreware/x265/downloads/)
- libde265 (https://github.com/strukturag/libde265)
我可以打开并显示每个 H265 编码的视频文件,但我无法简单地打开、显示或转换 .heic 图像。它们都返回错误,或者什么都不做。
说实话我有点疑惑,因为 HEIF 标准似乎是一个保守的秘密。我找不到可以让我找到解决方案的相关信息。我发现的只是技巧和解决方法,例如强制设备(我在这里谈论的是使用新 iOS11 的 Apple iPhone)生成 jpg 图像而不是 heic,或使用第三方应用程序(如 dr.fone)。当然,这些解决方案对我来说无关紧要。
那么,有人可以告诉我应该对 .heif 图像使用哪种编解码器,以及如何使用它来打开它?或者是否有允许操作这种类型的图像文件的开源库或示例?有人可以指出好的方向吗?
【问题讨论】:
-
FFMPEG 仍然不支持 HEIF。一个错误报告是开放的来处理这个问题。 trac.ffmpeg.org/ticket/6521这应该是评论而不是回应,但我不允许评论。
-
关于 FFMPEG 与 HEIC 图片的兼容性有什么好消息吗?
-
好吧,就我而言,我终于得到了使用 libde265 库 (libde265.org) 的结果。但是它非常有限:在我所有的示例中,我都可以打开这个视频:github.com/strukturag/libde265.js/blob/master/demo/…。我不知道现在是否有任何 FFMPEG 库正确支持 HEIV/HEVC 格式。我所知道的是,我的公司找到了一种方法来做到这一点,使用我们的几个内部 SDK 来读取 HEIV/HEVC 媒体内容并将其发送到 FFMPEG 解码器,这导致了一个 Windows 插件,可在此处获得:@ 987654327@