Brotli无损压缩工具安装与使用教程

介绍如何在 Linux 中安装与使用 Brotli 这个开放原代码的无损压缩工具。

Brotli 是一个开放原代码的无损压缩工具(详细介绍请参考维基百科),其压缩率(compression ratio)在目前通用型压缩方法中算是比较好的,速度与 deflate 方法相近但是有更好的压缩率。关于 Brotli 压缩演算法的标竿测试(benchmark),可以参考以下网站:

Squash Compression Benchmark
Compression Benchmark
Large Text Compression Benchmark

以下介绍在 Linux 环境下,Brotli 压缩工具的安装与使用方式;若在 Windows 系统中要使用 Brotli 压缩或解压缩文件,可以使用 PeaZip 这个开放原代码的压缩工具。

安装 Brotli 压缩工具

若在 Ubuntu Linux 中,可以使用 apt 安装 brotli 套件:

# 安装 brotli 套件(Ubuntu)
sudo apt install brotli

若在 CentOS Linux 中,则可使用 yum 安装 brotli 套件:

# 安装 brotli 套件(CentOS)
sudo yum install brotli

亦可下载 Brotli 的原代码,自行以 CMake 编译并安装:

# 下载 brotli 原代码
git clone https://github.com/google/brotli.git

# 以 CMake 编译并安装 brotli
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../brotli/
make -j8
sudo make install

压缩

brotli 压缩工具的参数使用方式跟标准的 gzip 非常类似,不过 brotli 在压缩文件时,默认会保留原始文件。

# 以 Brotli 压缩文件
brotli MyFile.txt

这里的 MyFile.txt 文件经过 brotli 压缩之后,就会产生一个文件名为 MyFile.txt.br 的压缩文件。

若希望在压缩之后自动将原始文件删除,可以加上 --rm 参数:

# 以 brotli 压缩文件(删除原始文件)
brotli --rm MyFile.txt

压缩输出文件名

brotli 所产生的压缩文件名称默认的后缀是 .br,若要更改可以使用 --suffix 参数指定新的后缀,例如:

# 设置压缩文件名后缀为 .b
brotli --suffix=.b MyFile.txt

若只压缩单一文件,可以使用 --output 参数指定输出压缩文件的名称:

# 设置压缩文件名为 MyFile.br
brotli --output=MyFile.br MyFile.txt

压缩层级

若要指定 brotli 的压缩层级(compression level),可以使用 --quality 参数来指定,可用的压缩层级是 011,数字越大代表压缩率越高,但是压缩速度越慢。

# 设置压缩层级为 5
brotli --quality=5 MyFile.txt

若是指定 09 的,也可以直接以数字参数的方式指定:

# 设置压缩层级为 5
brotli -5 MyFile.txt

若要以最高压缩层级来压缩,可以直接使用 --best 参数:

# 设置压缩层级为最高(11)
brotli --best MyFile.txt

解压缩

若要解压缩 Brotli 格式的压缩文件,可以使用 --decompress 参数:

# 解压缩 Brotli 压缩文件
brotli --decompress MyFile.txt.br

串流

若要将压缩或解压缩结果输出至标准输出(standard output),可以加上 --stdout 参数:

# 压缩后输出至标准输出
brotli --stdout MyFile.txt > MyFile.br

解压缩后的数据也可以输出至标准输出:

# 解压缩后输出至标准输出
brotli --decompress --stdout MyFile.txt.br

Brotli 搭配 tar 压缩目录

若要以 Brotli 压缩一整个目录,可以先用 tar 先把整个目录打包后,交给 brotli 压缩:

# Brotli 搭配 tar 压缩目录
tar cf - MyFolder | brotli -o MyFolder.tar.br -

解压缩时则是先以 brotli 解压缩后,再交给 tar 解开目录:

# Brotli 搭配 tar 解压缩目录
brotli -dc MyFolder.tar.br | tar xf -
技术教程

PythonSimpleITK影像处理教程:基本影像读取与查看

2022-6-22 9:47:17

技术教程

Python使用PIL.Image叠合两张影像教程与范例

2022-6-23 10:29:57

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yp10086@vip.qq.com 举报,一经查实,本站将立刻删除。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索