【转】HEIF图片存储格式探秘
HEIF图片存储格式探秘
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的执行文件,但是现在还不知道怎么执行。
转换工具:
这个转换工具,今天测试了以下,不是很好用。
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
没有快速推广的原因:
- 专利费,齁贵,各大厂硬件厂商用不起
- 格式暂时未通用,各大软件服务商,暂时没有支持,表现在Windows也无法产生这种文档的图示,而且Photoshop也不支持该格式的图片编辑,目前仅苹果支持。
【转】HEIF图片存储格式探秘的更多相关文章
- 如何让Android 支持HEIF 图片解码和加载(免费的方法)
字节跳动火山引擎ImageX提供了一种能力,可以支持客户端android 直接解码HEIF 和HEIC图片,经过测试发现,可以免费使用: 一.阅前准备 HEIF图片格式是什么? 高效率图像格式(Hig ...
- 学习OpenSeadragon之一(一个显示多层图片的开源JS库)
OpenSeadragon是一个可以显示多层图片(可放大缩小)的Web库,基于JavaScript,支持桌面和手机. 由于我项目需要,却没有找到任何中文教程,因此在官网上一边学习,一边总结于此. 官网 ...
- iOS imageio nsurlsession 渐进式图片下载
一.图片常用加载格式分两种 一般线性式 和交错/渐进式 自上而下线性式 先模糊再清晰 就概率上而言线性式使用最多,应为他所占空间普片比渐进式小.而这两种方式对于app端开发人员无需关心,这种图片存储格 ...
- iOS学习——图片压缩到指定大小以内
一.图片压缩简述 在我们开发过程中,有可能会遇到拍照.或者从相册中选择图片,要么单选或者多选,然后上传图片到服务器,一般情况下一张图片可能3-4M,如果类似微信朋友圈上传9张图片大约是 35M左右,如 ...
- WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo
WEB应用图片的格式,以及各自的特点和优化(一) by FungLeo 前言 12年前我入行三天.用table布局做了一个非常粗糙的网页.我说了一句话,"网页就是表格加文字加图片,图片分两种 ...
- java笔记--策略模式和简单工厂模式
策略模式: --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3884781.html "谢谢-- 为什么使用:策略模式主要用于 ...
- Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?
0.写在前面 本文涉及到屏幕密度的讨论,这里先要搞清楚 DisplayMetrics 的两个变量,摘录官方文档的解释: density:The logical density of the displ ...
- python学习——截图工具编写
学习一门语言最好的方法便是实践,想要拿Python写一个截图工具,网上一搜资料果然已经很多,前辈们都已经做的很到位了.现在就一步步来学习一下: 首先学习截图整个桌面的方法,可以使用Python中的PI ...
- Android P的APP适配总结,让你快人一步
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由QQ音乐技术团队发表于云+社区专栏 上篇:Android P 行为变更适配 Android P 这次有很多行为变更,其中不乏一些需要亟 ...
随机推荐
- 重学JAVA基础(二):Java反射
看一下百度的解释: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息 ...
- VijosP1443:银河英雄传说
描述 公元五八○一年,地球居民迁移至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展. 宇宙历七九九年,银河系的两大军事集团在巴米利恩星域爆发战争.泰山压顶集 ...
- orcale用户名的创建及权限设置
oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...
- bootstrap 全局样式
reset.css html { font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100% ...
- 如何在模板类中使用这些point类型?
博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=271 由于PCL模块较多,并且是一个模板库,在一个源文件里包含很多PCL算法 ...
- 利用mysql客户端查询UCSC数据库
UCSC Genome Browser是由University of California Santa Cruz (UCSC) 创立和维护的,该站点包含有人类.小鼠和大鼠等多个物种的基因组草图和注释信 ...
- layer常用方法
弹出层layer的使用 弹出层layer的使用 Intro layer是一款web弹层组件,致力于服务各个水平段的开发人员.layer官网:http://layer.layui.com/ layer侧 ...
- OSP 与 Session
大家都知道,OSP是不支持session的,换句话说,登录有效期是永久的.一般网站,如果你不操作一段时间以后,必须重新登录.osp不是这样的,你一旦登录后,即便服务器重启了,你依然能访问服务器并不需要 ...
- CodeForces - 633D Fibonacci-ish 大数标记map+pair的使用
Fibonacci-ish Yash has recently learnt about the Fibonacci sequence and is very excited about it. He ...
- Software - (转)Winform 程序捕获全局异常
static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static vo ...