如何使用ffmpeg转换图片格式
ffmpeg简介与图片格式介绍
windows安装ffmpeg,从如下网站下载release版本 https://www.gyan.dev/ffmpeg/builds/
ffmpeg 6.1版本仍然不支持heic的图片格式,未来可能会支持,具体见该issue: https://trac.ffmpeg.org/ticket/6521
图片格式压缩率:jpeg < webp < heif < avif
图片压缩率比较高的还有个jxl格式,但是太新了而且各个平台支持都不到位,只能战未来了。
avif格式的图片由于android、windows、macos、各大浏览器都支持,未来覆盖率必然超过heif,heif由于专利授权原因,在浏览器上覆盖很差,chrome浏览器打不开heif格式图片。不过avif格式由于比较新,目前在老版本的系统、浏览器中支持率还不够。
avif格式其实跟heif格式类似,都是使用视频编码器技术应用到图片领域,heif的编码器用的跟 h.265\hevc 是一样的,avif则是使用av1编码器,av1编码器压缩率比hevc更高,目前国内B站算是比较早使用av1编码视频以及avif编码图片的平台,其技术团队有相关公开分享它们在编码器领域的研究。
网页端的图片格式转换工具,推荐使用https://squoosh.app/ ,图片格式支持非常全面。
查看图片格式详情
ffprobe example.webp
图片格式转换
jpeg 转avif
ffmpeg -i source.jpg -c:v libaom-av1 -still-picture 1 dest.avif
转换jpeg为avif debug级别 日志
ffmpeg -v debug -i source.jpg -c:v libaom-av1 -still-picture 1 dest.avif
转换jpeg为webp
ffmpeg -i source.jpg -c:v libwebp dest.webp
转换jpeg为jxl
ffmpeg -i source.jpg -c:v libjxl dest.jxl
转换avif为webp
ffmpeg -i source.avif -c:v libwebp dest.webp
转换avif为jpeg
ffmpeg -i source.avif dest.jpg
webp 转webp
ffmpeg -i source.webp -c:v libwebp dest.webp
如何使用ffmpeg转换图片格式的更多相关文章
- java批量转换图片格式
废话不多直接上代码,代码其实也不多.... package com.qiao.testImage; import java.awt.image.BufferedImage; import java.i ...
- 使用IMAGEMAGICK的CONVERT工具批量转换图片格式
使用IMAGEMAGICK的CONVERT工具批量转换图片格式 http://www.qiansw.com/linux-imagemagick-convert-img.html Home > 文 ...
- Mac电脑如何转换图片格式?ImageWell for Mac转换图片格式教程
想用Mac电脑转换图片格式?我想你可以借助ImageWell for Mac软件!ImageWell是一款简单好用的的图像处理工具,具有显示,编辑,处理,保存等功能.下面小编来为大家演示在Mac电脑上 ...
- 使用 ffmpeg 转换视频格式
ffmpeg 是 *nix 系统下最流行的音视频处理库,功能强大,并且提供了丰富的终端命令,实是日常视频处理的一大利器! 实例 flac 格式转 mp3 音频格式转换非常简单: ffmpeg -i i ...
- 【最简单】不用ps也可以批量转换图片格式
不废话直接开始~ 1.新建文件夹,把需要转换的图片放进去,如图: 2.文件夹里建一txt文本,重点来了!txt文本的内容,如果是jpg转为png,则输入“ren *.jpg *.png”,同理png转 ...
- Mac OS 如何批量转换图片格式
在苹果电脑中,如何快速批量地转换图片的格式.苹果电脑的预览程序,可以实现PNG.JPEG.JPEG-2000.PDF.TIFF格式之间的互换.这里以将PNG格式转换为JPEG格式为例. 工具/原料 ...
- ubuntu 转换图片格式的方法(sam2p, imagemagick)
(1) 终端:sudo apt-get install sam2p sam2p [原图片名.格式] [目标图片名.格式] 即可在同一目录下生成目标图片格式 (2) 终端: sudo apt-get i ...
- 使用ffmpeg转换webm格式
安装ffmpeg brew install ffmpeg --with-libvpx --with-libvorbis 如果已经装过 brew reinstall ffmpeg --with-libv ...
- FreeImage库如何转换图片格式?
FreeImage下载地址:http://freeimage.sourceforge.net/ //freeimagemain.h #ifndef FREEIMAGEMAIN_H #define FR ...
- 使用ffmpeg转换视频格式
命令: ffmpeg -i infile -ab 128 -acodec libmp3lame -ac 1 -ar 22050 -r 29.97 -qscale 6 -y outfile 说明: ...
随机推荐
- Go 语言的前生今世与介绍
Go 语言的前生今世与介绍 目录 Go 语言的前生今世与介绍 一. Go 语言的发展 1.1 Go 语言是如何诞生的? 1.2 Go语言的早期团队和演进历程 1.3 Go语言正式发布并开源 1.4 G ...
- 【译】为什么命名“它”为依赖属性(DependencyProperty)
当我们创建新的类和成员时,我们花费了大量的时间和精力是它们尽可能的好用,好理解,好发现.通常我们会遵循.Net框架设计指南,尤其是会不断地研究这个新类与其他类,未来计划等内容之间的关系. 当命名依赖属 ...
- Windows下VC++编译器32位memcpy、memmove函数汇编代码详解
整理者:赤勇玄心行天道 QQ号:280604597 微信号:qq280604597 QQ群:511046632 博客:www.cnblogs.com/gaoyaguo blog.csdn.net/c ...
- 使用gitbook快速搭建文档中心
背景 在研发一个系统,主要给公司内部同事用,按理说,简单点的话,搞个使用文档就行了,但产品经理希望是做成一个文档中心,比如,你学习个新技术的时候,比如vue,一般有个在线的帮助文档,他的想法就是这种. ...
- Vue之键盘事件
1.使用keydown触发事件 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- Java进程(基础)
基本概念 1.进程:程序的执行过程 2.线程:一个进程可以有单个线程也就是我们说的单线程,还可以有多个线程也就是我们说的多线程, 线程 1.当一个类继承了Thread类就可以当成一个线程用 2.我们会 ...
- CF1523D Love-Hate 题解
抽象化题意: 一共有 \(m\) 个元素,给定 \(n\) 个集合,每个集合的元素不超过 \(15\) 个,求出一个元素个数最多的集合 \(S\) 是至少 \(\lceil \dfrac{n}{2} ...
- VUE首屏加载优化 性能优化分析插件安装分享
优化背景: 项目上线后 第一次进入项目要等待接近50s才能进入页面.一开始觉得是电脑配置问题或者网络问题.F12后发现加载资源过慢 其中一个chunk-***js文件有10m 加载了45s .我们使用 ...
- 普冉PY32系列(十二) 基于PY32F002A的6+1通道遥控小车III - 驱动篇
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) P ...
- [GitOps] 白嫖神器Github Actions,构建、推送Docker镜像一路畅通无阻
[GitOps] 白嫖神器Github Actions,构建.推送Docker镜像一路畅通无阻 引言 当你没找到合适的基础的Docker镜像时,是否会一时冲动,想去自己构建.然而因为网络问题,各种 ...