这个项目能做什么
Ruffle 是一个用 Rust 编写的开源项目,旨在替代已停用的 Adobe Flash Player,使遗留的 Flash 内容(SWF 文件)继续可播放。
功能特性:
- 支持 ActionScript 1、2 和 3,官方称已相当完整,但仍处于开发中。
- 提供 Web 演示,用户可直接在浏览器中加载本地 SWF 文件。
- 发布桌面端和网页端的夜间构建版本。
- 提供 Firefox 和 Chrome 浏览器扩展、Flathub 包、npm 包以及 AUR 包。
- 桌面客户端基于 wgpu-rs,支持可选的性能分析(Tracy)和渲染调试标签。
- 提供扫描器工具,用于批量解析 SWF 文件并报告解析结果。
- 提供导出器工具,可将 SWF 渲染为 PNG 截图,支持多帧输出和headless模式。
项目架构:
- core:核心模拟器与通用代码
- swf:SWF 与 ActionScript 解析器
- desktop:桌面客户端
- web:网页客户端与浏览器扩展
- render:桌面与网页渲染后端
- video:视频解码后端
- flv:Flash Video 解码器
- wstr:Flash 兼容字符串实现
- scanner/exporter:命令行工具
构建要求:
需要最新的稳定版 Rust 工具链,且 PATH 中需包含 Java(用于内置 ActionScript 3 类)。Linux 用户需安装 ALSA、udev、fontconfig、freetype 和 OpenSSL 头等开发包。桌面构建通过 cargo 完成,并可传入特定 SWF 文件作为参数。macOS 用户可通过项目提供的 Homebrew tap 安装 HEAD 版本。网页和扩展构建遵循 web 目录中的说明,Android 应用位于独立的 ruffle-android 仓库。
许可协议:
采用 Apache-2.0 与 MIT 双许可,接受社区贡献,遵循相同条款。项目发布行为准则,欢迎社区贡献。
评论
0 评分人数达到10人后显示
登录后参与讨论。