HEIF图片存储格式探秘

2017年12月11日 18:30:43

阅读数:891

HEIF,High Efficiency Image File Format,即高效率图档格式,是由动态图像专家组(MPEG–Moving Picture Experts Group )在2013年推出的存储图片和图片序列的新格式,用于HEVC关键帧的处理上,因此它同样可以用更少的容量来存储画质更好的照片,在连拍、动图和色彩变化不大的照片上效果尤其明显。

官网:http://nokiatech.github.io/heif/

比较:http://nokiatech.github.io/heif/comparison.html

GitHub地址:https://github.com/nokiatech/heif

在git的wiki上有说明如何进行编译,需要再linux中进行编译,今天安装了linux系统,然后,准备编译一下。

编译构建

从GitHub上下载了Nokia的代码,语言不通,几乎看不懂,但是,从wiki上看到了如何进行编译和构建,于是决定试试。

在Linux环境下,打开命令行模式,输入命令进行下载:

下载完成后,可以看到目录结构如下:

然后,进入heif目录,新建文件夹,命名为build,然后进入build,执行cmake ..

然后执行make:

生成了可执行的writerapp的执行文件,但是现在还不知道怎么执行。

转换工具:

HEIF Utility

这个转换工具,今天测试了以下,不是很好用。

Android项目Demo

https://github.com/yohhoy/heifreader

这个项目使用了 sannies/mp4parser这个库解析HEIF结构。目前为止存在bug,没有解决,可能是因为当前技术不完善吧

各种不支持

Windows不支持,PhotoShopCC不支持,低版本的iPhone、Mac均不支持该格式,微信,微博等均不支持(测试了Android版本的)

在线的HEIF图片地址:

这里找到了一些在线的图片地址,heic格式的,是诺基亚官方提供的,以后研究的时候可以使用

在线地址:https://github.com/nokiatech/heif/tree/gh-pages/content/images

没有快速推广的原因:

  1. 专利费,齁贵,各大厂硬件厂商用不起
  2. 格式暂时未通用,各大软件服务商,暂时没有支持,表现在Windows也无法产生这种文档的图示,而且Photoshop也不支持该格式的图片编辑,目前仅苹果支持。
 

【转】HEIF图片存储格式探秘的更多相关文章

  1. 如何让Android 支持HEIF 图片解码和加载(免费的方法)

    字节跳动火山引擎ImageX提供了一种能力,可以支持客户端android 直接解码HEIF 和HEIC图片,经过测试发现,可以免费使用: 一.阅前准备 HEIF图片格式是什么? 高效率图像格式(Hig ...

  2. 学习OpenSeadragon之一(一个显示多层图片的开源JS库)

    OpenSeadragon是一个可以显示多层图片(可放大缩小)的Web库,基于JavaScript,支持桌面和手机. 由于我项目需要,却没有找到任何中文教程,因此在官网上一边学习,一边总结于此. 官网 ...

  3. iOS imageio nsurlsession 渐进式图片下载

    一.图片常用加载格式分两种 一般线性式 和交错/渐进式 自上而下线性式 先模糊再清晰 就概率上而言线性式使用最多,应为他所占空间普片比渐进式小.而这两种方式对于app端开发人员无需关心,这种图片存储格 ...

  4. iOS学习——图片压缩到指定大小以内

    一.图片压缩简述 在我们开发过程中,有可能会遇到拍照.或者从相册中选择图片,要么单选或者多选,然后上传图片到服务器,一般情况下一张图片可能3-4M,如果类似微信朋友圈上传9张图片大约是 35M左右,如 ...

  5. WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo

    WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo 前言 12年前我入行三天.用table布局做了一个非常粗糙的网页.我说了一句话,"网页就是表格加文字加图片,图片分两种 ...

  6. java笔记--策略模式和简单工厂模式

    策略模式: --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3884781.html "谢谢-- 为什么使用:策略模式主要用于 ...

  7. Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?

    0.写在前面 本文涉及到屏幕密度的讨论,这里先要搞清楚 DisplayMetrics 的两个变量,摘录官方文档的解释: density:The logical density of the displ ...

  8. python学习——截图工具编写

    学习一门语言最好的方法便是实践,想要拿Python写一个截图工具,网上一搜资料果然已经很多,前辈们都已经做的很到位了.现在就一步步来学习一下: 首先学习截图整个桌面的方法,可以使用Python中的PI ...

  9. Android P的APP适配总结,让你快人一步

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由QQ音乐技术团队发表于云+社区专栏 上篇:Android P 行为变更适配 Android P 这次有很多行为变更,其中不乏一些需要亟 ...

随机推荐

  1. Oracle 表连接方式(1)---

    Oracle 表之间的连接分为三种: 1. 内连接(自然连接) 2. 外连接 (1)左外连接 (左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制) 3. 自连 ...

  2. Hive安装    …

    Hive安装 mysql使用主机(win7)上的mysql数据库,启动后,要关闭360和win7自带的防火墙,确保在虚拟机里能拼通主机********************************* ...

  3. js学习笔记2:循环和try/catch/throw

    今天学习了js的比较.if/else.switch/case和各种循环,这些东西每种语言都大同小异,没什么好看的,重点说一下js的循环. JavaScript 支持不同类型的循环: for - 循环代 ...

  4. DIV文字水平垂直居中的方法

    水平居中 text-align:center 垂直居中(vertical-align) vertical-align:middle; vertical-align时而没效果 然而真实使用的时候,我们会 ...

  5. python_文件目录的操作

    Python文件的主要操作 主要包括: 1,创建一个文件 2,删除一个文件 3,创建一个目录 4,删除一个目录 5,拷贝,重命名,查看文件大小 6,列出某个目录下文件的数量 7,递归打印某个目录下的所 ...

  6. redis win连接以及配置连接密码

    redis连接格式为 redis-cli -h host -p port -a password 但由于刚安装的redis是没有密码的 因此可以进行直接连接, cd转到redis目录里 redis-c ...

  7. surface shader相关参数,命令

    https://docs.unity3d.com/Manual/SL-SurfaceShaders.html 说明: 注意下surfaceshader相关开关选项,input结构体全部可用参数 goo ...

  8. Python之for循环和while循环

    Python中有两种循环,分别为:for 循环和 while 循环. 循环语句就是在某种条件下,循环的执行某段代码块,并在符合条件的情况下跳出该段循环, 其目的是处理想要进行处理的相同任务.它的关键词 ...

  9. 转 BeanShell 简介与学习(一篇就够)

      2017年05月17日 21:24:10 金刚龙123 阅读数:5131 标签: BeanShell 更多 个人分类: 开发语言及脚本语言   简介: BeanShell是一种脚本语言,一种完全符 ...

  10. 【UVA - 136】Ugly Numbers(set)

    Ugly Numbers Descriptions: Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequ ...