一种用于气隙数据传输的实验性条形码格式。
它只需使用计算机显示器和智能手机摄像头即可维持 850 KB/s (~106 KB/s) 的速度!
解释
编码器将动画条形码输出到计算机或智能手机屏幕上:
编码器 Web 应用程序
解码器是一个使用手机摄像头读取动画条形码的手机应用程序
不使用互联网/蓝牙/NFC/等。所有数据都通过相机镜头传输。你可以自己尝试一下,或者相信我的话,它有效。:)
它是如何工作的?
cimbar
是一种高密度 2D 条形码格式。数据存储在彩色图块网格中 — 根据选择的图块以及选择的颜色来绘制图块,对位进行编码。对数据应用 Reed Solomon 纠错,以解释视频 > 数字解码的有损性质。预计错误率低于 1%,并得到纠正。
libcimbar
是此优化实现,包括一个基于 fountain 代码 (wirehair
) 和 zstd 压缩构建的文件编码的简单协议。最大 33MB 的文件(压缩后)被编码为一系列 cimbar 代码,这些代码可以输出为图像或实时视频源。一旦成功解码了足够多的不同图像帧,文件将成功重建和解压缩。即使图像的接收顺序不正确,或者某些图像已损坏或丢失,也是如此。
cfc 是一款 Android 应用程序,用于通过相机作为单向数据通道接收数据。它不使用任何天线(wifi、蓝牙、nfc 等)或其他技巧。值得注意的是,这意味着它在飞行模式下同样有效。
平台
代码是用 C++ 编写的,并在 amd64+linux、arm64+android(仅解码器)和 emscripten+WASM(仅编码器)上开发/测试。它可能在其他平台上工作,或者可以使其工作。
至关重要的是,由于编码器编译为 asmjs 和 wasm,因此它可以在任何具有现代 Web 浏览器的计算机上运行。对于离线使用,您可以将 cimbar.org 安装为渐进式 Web 应用程序,也可以下载最新版本的 cimbar_js.html
,将其保存在本地,然后在 Web 浏览器中打开它。
简单使用方法
1. 服务端(libcimbar
)
下载最新版本: https://github.com/sz3/libcimbar/releases/download/v0.6.1f/cimbar.asmjs.zip
把此文件直接解压,然后点击 index.html 就会显示页面,使用 tab 键就可以,看到添加文件,然后屏幕会一直闪烁
也可以直接打开本网站链接:https://aqwu.net/cimbar/
2. 客户端(cfc)
现在最新版本:https://github.com/sz3/cfc/releases/download/v0.6.1/cfc_arm64_0.6.1g_cv4.8.apk
可以本站下载:https://aqwu.net/cimbar/cfc_arm64_0.6.1g_cv4.8.apk
然后安装到你的手机上
打开应用就可以扫描上面的文件了,当文件扫描完成后,会要求改文件名。
参考链接:
https://github.com/sz3/cimbar
https://github.com/sz3/libcimbar/releases/tag/v0.6.1f
https://github.com/sz3/cfc