在服务器上将HEIF(.heic)转换为JPEG?

时间:2017-08-02 12:14:13

标签: ios imagemagick jpeg hevc heif

Apple在iOS 11中引入了一种名为HEIF(.heic文件扩展名)的新图像格式。我知道您可以从iOS设备将图像导出为JPG,但我想将HEIC文件上传到我的服务器并将其转换为可以在所有其他设备上显示的JPEG文件。

任何人都可以推荐一种有效且有效的方法来实现这一目标吗?

  

解答:

     

由于这个问题已经结束,我将在这里为你们其他人编辑我的答案。我们现在使用此库将HEIC转换为JPEG:https://github.com/monostream/tifig

     

感谢ImageMagick now support converting HEIC to JPEG

a fork from @toshic      

感谢您@monostream@toshic的贡献!

EDIT1:编辑问题的措辞更具体,符合SO指南

EDIT2:由于此主题现已关闭,因此添加了答案:/

3 个答案:

答案 0 :(得分:17)

这很复杂,因为iOS 11实际上是将HEVC编码图像的图块存储在HEIF容器中,但是有一个使用nokia lib提取它们的演示,ffmpeg解码它们然后将它们拼接成在corrupted HEIC tile when converting to JPEG

链接的最佳仓库中使用imagemagick的单个jpeg

我们还有一个可以使用的工作方法:克隆https://github.com/pushd/heif然后:

cmake CMakeLists.txt && make && Bins/heiftojpeg test_001.heic test_001.jpg

答案 1 :(得分:1)

CloudConvert支持将这些HEIC文件转换为JPG:https://cloudconvert.com/heic-to-jpg。他们还有API PHP / node.js / Python SDK。

答案 2 :(得分:0)

现在没有这样的库可用于HEIF到JPEG的服务器上的图像转换,到目前为止,ImageMagick还没有支持。

您可以通过从设备导出图像来实现此目的,这样就可以生成JPEG图像。

诺基亚有一个 HEIF 阅读器javascript实现,您可以查看:Nokiatech heif

替代:如果可行的话,您可以尝试this website

Feature Request for ImageMagick