简介
AVIF由开源组织AOMedia开发,Netflix、Google与Apple均是该组织的成员。
AVIF格式不仅仅提供一流的有损压缩。它还支持无损压缩,就像PNG一样。
用于存储图像或图像序列,支持有损和无损压缩。
AVIF 不支持渐进式渲染,因此文件必须完全下载后才能显示。这通常对真实世界的用户体验影响不大,因为 AVIF 文件比同等的 JPEG 或 PNG 文件小得多,因此下载和显示的速度也快得多。文件大小越大,影响就越大,因此应考虑使用支持渐进式渲染的格式。
时间线
2015 年,AV1 编解码器由 Google、Mozilla、 Cisco 和 Netflix 等公司共同开发,旨在共同创建一种下一代的开源视频编解码器,提供比现有编解码器更卓越的压缩效率和视频质量。
2018年03月,AV1 编解码器于 2018 年 3 月发布,并在视频领域取得了成功。
2018 年09月,AVIF 规范的第一个版本发布。在接下来的几年里,该规范进行了进一步的完善。
2018年12月,14日Netflix发布第一个副档名为AVIF的图像样本。
2020年07月,AVIF 格式正式成为 ISO/IEC 23000-22 规范的一部分,标志着其正式标准化。
2020年08月,Google Chrome – 自2020年8月推出85版,支援全部的AVIF图像。
2020年11月,应用了感知量化影像转移函数技术和BT.2020原色标准的高动态范围图像样本发布。
2021年10月,Mozilla Firefox – 自2021年10月推出93版,支援预设的AVIF图像。
2021年10月,Android -推出的Android 12增加对AVIF的支援,但不会是相机app的预设图档格式。
2022年05月,Adobe Illustrator – 自2022年5月推出的新版本支援AVIF图档。
2022年09月,Safari – 2022年9月苹果公司推出iOS 16,其搭载的Safari支援AVIF。
2022年10月,推出的macOS Ventura,其附带的Safari也提供了AVIF的支援。
分析
:::: tabs
::: tab-pane 优势
AVIF拥有比WEBp和JPEG更先进的压缩技术。这种格式的图像看起来更好,而且尺寸比上述格式小。由于文件较小,AVIF图像在浏览时加载更快。AVIF支持动画和透明背景。
AVIF不仅支持标准动态范围(SDR)图像,还支持高动态范围(HDR)和宽色域(WCG)。它可以存储单个图像和图像序列。
可按需加载:AVIF格式支持渐进式加载和隔行扫描加载,可以在图像加载过程中动态调整图像的质量和分辨率以在网络状况复杂的情况下提供更平滑的用户体验。
跨平台支持:AVIF格式可在绝大部分现代浏览器、操作系统和应用程序上运行,如Google Chrome、Mozilla Firefox、Safari等,支持WebP和JPEG等其他图像格式无法实现的功能,包括透明度、动画和嵌入元数据等。
:::
::: tab-pane 劣势
AVIF并不像其他图像文件格式那样受到支持。与其他格式相比,解码AVIF图像可能需要更长的时间。
当用于无损压缩时,它在质量方面并没有超过PNG。
传统设备支持有限:一些较老的设备(包括一些老的操作系统和浏览器)可能无法支持AVIF格式。
原生支持有限:并非所有图像编辑工具都能够原生支持 AVIF 格式,用户可能需要依赖第三方插件或在编辑之前将 AVIF 文件转换为其他格式。
:::
::::
作用
1、优化加载时间,提升用户体验,降低跳出率。利于搜索引擎优化。
2、降低存储与带宽成本。
工具
:::: tabs
::: tab-pane 格式转换
Convertio - 图像转换器、像素蒸发、离线转换 - AVIF转为其他格式、aconvert、ShortPixel、avif.io、Convertr
:::
::: tab-pane 插件
WordPress插件
Converter for Media
:::
::: tab-pane 查看
1、使用支持AVIF格式的图像查看软件,如Google Chrome浏览器、Firefox浏览器、和Windows 10操作系统上的“照片”应用程序,这些程序都可以识别并打开AVIF文件。
2、另外,一些图像编辑软件也支持AVIF格式,例如Adobe Photoshop、GIMP、PaintShop Pro等。通过这些软件可以打开AVIF文件,并进行编辑和保存。
3、如果您需要在没有专门支持AVIF格式的程序的环境下查看或编辑AVIF文件,建议使用转换工具将其转换为其他格式,例如JPEG、PNG、TIFF等。目前Internet上已经存在许多在线工具和桌面上软件能够实现AVIF与其他格式的转换。
4、win系统,下载AV1 Video Extension解码器。
5、使用某些在线查看工具。
总之,要打开AVIF文件,您可以使用支持AVIF格式的图像查看软件或图像编辑软件,或者将其转换为其他格式进行查看或编辑。
:::
::::
求知
参考
拓展
:::: collapse-panel accordion
::: collapse-item 最大尺寸
2147483647×2147483647 像素。
特意搜了一下这个数:是欧拉在1772年所发现的一个梅森素数,它等于2^31-1,是32位操作系统中最大的符号型整型常量,也是C++中int类型的上限。在32位操作系统中,由于计算机是由二进制组成的,其一个元素所能最大存储的数据是01111111111111111111111111111111(符号位+31个1)。正因为此,体现在Windows或其他可视系统中的十进制为2147483647。所以这个数是最大的整型上限。其中 INT_MAX 就是这个数值。
补充:webp 格式的被转图片,分辨率限制为:16383 x 16383,单位为:14-bit unsigned
jpeg/tiff 格式的被转图片,分辨率限制为:65535 x 65535,单位为:16-bit unsigned
png 格式的被转图片,分辨率限制为:2147483647 x 2147483647,单位为:32-bit signed
:::
::: collapse-item NGINX判断并提供WEBP & AVIF格式图片
在目标站点的 .conf 配置文件中添加以下内容:
map $http_accept $webp_suffix {
default "";
"~image/webp" ".webp";
}
map $http_accept $avif_suffix {
default "";
"~image/avif" ".avif";
}
server {
location ~ ^/.*\.(png|jpe?g|gif)$ {
add_header Vary Accept;
try_files $uri$avif_suffix$webp_suffix $uri$avif_suffix $uri$webp_suffix $uri =404;
}
}
假如浏览器请求访问 /demo.jpg 图片文件,该浏览器仅支持 WebP 不支持 AVIF 的情况下,Nginx 将会尝试提供 /demo.jpg.webp,如果浏览器同时支持 WebP 与 AVIF 格式,Nginx 将会尝试提供 /demo.jpg.avif,两种格式皆不支持的情况下则会返回 /demo.jpg 文件。目录中应该有 demo.jpg / demo.jpg.webp / demo.jpg.avif 三种格式的命名文件,上述设置的规则才能够正常运行。
:::
::: collapse-item PHP判断并提供WEBP & AVIF格式图片
<?php
$AVIF=(preg_match("/image\/avif/",$_SERVER['HTTP_ACCEPT']))?true:false;
$WEBP=(preg_match("/image\/webp/",$_SERVER['HTTP_ACCEPT']))?true:false;
?>
浏览器请求头里,如果接受avif或webp图片,会带有“image/avif, image/webp”字样,这样,让浏览器自己告诉我们它是否支持某种图片格式是比较科学的。
:::
::::