WebP Cloud Services Blog

告别服务器上传:WASM 如何实现高效且隐私友好的图片转换

在日常工作中,我们经常需要转换图片格式,例如将 HEIC 转换为 JPG,或将 PNG 转换为 WebP。传统的“在线图片转换”服务通常依赖于“上传-处理-下载”的工作流。

这种模式在技术上是成熟的,但对于用户而言,它带来了几个无法回避的问题:

  1. 上传延迟与失败: 大文件或批量图片上传非常耗时,且在网络不稳定的情况下容易中断。
  2. 隐私与安全风险: 用户必须将原始图片(可能包含敏感信息)上传到第三方服务器,数据在传输和存储过程中存在泄露风险。
  3. 服务器处理瓶颈: 在高峰期,用户可能需要排队等待服务器释放资源。

我们认为,对于简单的格式转换任务,有比服务器处理更优的解决方案。

浏览器端的解决方案:WebAssembly (WASM)

为了解决上述问题,我们探索了一种新的实现方式:基于 WebAssembly (WASM) 的纯浏览器端图片转换

WebAssembly 是一种可移植的、低级字节码格式,它允许我们在浏览器中以接近原生的速度运行C、C++、Rust等语言编译的代码。

我们将核心的图片编解码库编译为 WASM 模块。当用户访问被我们称为 Convert something 服务时,这些模块会直接在用户的浏览器中加载并运行。

什么是「wasm image convert」?

简而言之,wasm image convert(WASM 图片转换)技术意味着所有的计算都发生在本地设备上。

整个流程如下:

  1. 用户通过拖拽或文件选择器加载图片。
  2. 浏览器将图片数据读入内存。
  3. WASM 模块在浏览器沙箱环境中执行转换。
  4. 浏览器生成转换后的图片,用户可直接下载。

图片数据从始至终都没有离开过用户的计算机,完美解决了传统方案的隐私顾虑。

兼顾效率与隐私:「privacy friendly convert」

这种方案的最大优势在于其隐私友好(privacy friendly)特性。由于计算完全在本地进行,我们(作为服务提供商)不需要访问、处理或存储用户的任何图片数据。

这为处理包含个人身份信息、私密照片或商业合同扫描件的图像提供了高级别的安全保障。这是一个真正意义上的 privacy friendly convert(隐私友好转换)工具。

高性能的「Bulk image convert」体验

WASM 的执行效率远超传统的 JavaScript,这使得在浏览器中实现批量图片转换(bulk image convert)成为可能。

用户可以一次性选择数十张图片,WASM 模块会在本地高效地并行处理这些任务,无需反复上传或等待服务器响应。无论是 JPG、PNG、WebP、AVIF 还是 HEIC 格式,都能实现快速的本地互转。

技术选型与权衡

当然,纯浏览器端的 WASM 方案在现阶段也存在一些限制。

由于受限于浏览器环境和 WASM 模块的体积,该工具目前专注于核心的格式转换功能。如果用户需要水印、精细的压缩质量调节、滤镜或自动化的 CDN 交付等高级功能,目前仍是服务端的 SaaS 方案更具优势。

我们为不同需求提供了两种选择:

  • Convert something:适合追求速度、隐私和轻量级的 bulk image convert 任务。
  • WebP Cloud:提供企业级的完整图片处理流程、云端自动化和高级优化功能。

为了提升访问体验,我们也为 Convert something 增加了 PWA (Progressive Web App) 支持,您可以将其“安装”到桌面或主屏幕,实现更接近原生应用的快速访问。

我们邀请您体验这个纯浏览器端的图片转换工具:Convert something


WebP Cloud Services 团队是一个来自上海和马尔默的三人小团队,由于我们不融资,且没有盈利压力 ,所以我们会坚持做我们认为正确的事情,力求在我们的资源和能力允许范围内尽量把事情做到最好, 同时也会在不影响对外提供的服务的情况下整更多的活,并在我们产品上实践各种新奇的东西。

如果你觉得我们的这个服务有意思或者对我们服务感兴趣,欢迎登录 WebP Cloud Dashboard 来体验,如果你好奇它还有哪些神奇的功能,可以来看看我们的文档 WebP Cloud Services Docs,希望大家玩的开心~


Discuss on Hacker News