无网络环境下利用二维码传输文件
不知道小伙伴是否碰到这样一些场景,无法使用互联网/蓝牙/NFC等,却需要在无网络环境下传输文件。
零点君向大家隆重推出一个新选择:使用二维码。这意味着,所有数据都通过相机镜头传输。
一、实现方法
简单来说,就是将文件转化为二维码,然后用其他设备扫码进行传输。
libcimbar: 颜色图标矩阵条形码。
Behold: 一种用于气隙数据传输的实验性条形码格式。
它只需使用计算机显示器和智能手机摄像头即可维持 106 KB/s的速度传输!
二、操作步骤
-
编码器将动画条形码输出到计算机或智能手机屏幕上:打开HTML编码器文件,选择需要传输的文件 (网页端就是一个html文件,无网络环境下浏览器打开也能正常使用),
-
解码器是一个使用手机摄像头读取动画条形码的手机应用程序:手机打开APP,对准屏幕,传输开始会出现进度条。
三、原理
cimbar
是一种高密度 2D 条形码格式。数据存储在彩色图块网格中 -- 根据选择的图块以及选择的颜色来绘制图块,对位进行编码。对数据应用 Reed Solomon 纠错,以解释视频 -> 数字解码的有损性质。预计错误率低于 1%,并得到纠正。
网格上每个图块(位置)有 16 个可能的符号,每个图块编码 4 位。此外,网格上的每个位置可以编码 2-3 个颜色位,这意味着每个图块最多总共 7 个位。
libcimbar
为优化实现,包括一个基于 fountain 代码 (wirehair) 和 zstd 压缩构建的文件编码的简单协议。最大 33MB 的文件(压缩后)被编码为一系列 cimbar 代码,这些代码可以输出为图像或实时视频源。一旦成功解码了足够多的不同图像帧,文件将成功重建和解压缩。即使图像的接收顺序不正确,或者某些图像已损坏或丢失,也是如此。
发表评论
Comment List(13)
a
2024.9.25 22:09
t
秃头
2024.9.21 16:09
114
a
2024.9.20 22:09
8
a
2024.9.20 22:09
a
gg
2024.9.20 18:09
gggvgg
gg
2024.9.20 18:09
gggv
aabbcc
2024.9.19 17:09
aabbc
test
2024.9.19 17:09
test
his
2024.9.13 13:09
let me try it
..
2024.9.10 12:09
….
.
2024.9.10 12:09
看看隐藏
kun
2024.9.8 22:09
试试
nike
2024.9.5 14:09
很不错 试试