6.8 KiB
6.8 KiB
火炬格式转换器 2.0.0
✨ 特性
- 🎬 多格式支持 - 支持视频、音频、图片等多种格式转换
- ⚙️ 丰富参数 - 自定义编码器、分辨率、帧率、比特率等
- 🚀 高性能 - 基于 Rust + Tauri 2.0,原生性能
- 🎨 现代化 UI - 使用 Tailwind CSS + Lucide 图标
- 📊 实时进度 - 转换进度实时显示
- 🖥️ 跨平台 - 支持 Windows、macOS、Linux
- 🔄 批量转换 - 支持多文件批量处理
- 💾 智能输出 - 自动检测或自定义输出路径
🚀 快速开始
系统要求
必需依赖
-
FFmpeg - 核心转换引擎
- Windows: 从 ffmpeg.org 下载并添加到 PATH
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg
-
Rust - 编译 Tauri 后端
- 安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - 或访问 rustup.rs
- 安装:
-
Node.js - 前端构建工具
- 推荐版本:v18 或更高
- 下载:nodejs.org
Tauri 系统依赖
请参考 Tauri 2.0 官方文档 安装对应平台的系统依赖。
安装步骤
-
克隆项目
git clone <your-repo> cd format-converter -
安装依赖
npm install这会自动下载并安装所有 Node.js 依赖到
node_modules文件夹 -
开发模式运行
npm run dev -
构建发布版本
npm run build构建完成后,安装包位于
src-tauri/target/release/bundle/目录
📖 使用说明
基本流程
-
添加文件
- 点击拖放区域选择文件
- 或直接拖放文件到窗口
-
配置转换参数
- 选择目标格式(MP4、MP3、JPG 等)
- 设置编码参数(可选)
- 选择输出位置
-
开始转换
- 点击"开始转换"按钮
- 查看实时进度
-
完成
- 转换完成后自动打开输出文件夹(可选)
支持的格式
视频格式
- 输入: MP4, AVI, MKV, MOV, WebM, FLV, WMV, MPEG 等
- 输出: MP4, MKV, MOV, AVI, WebM, FLV, WMV
音频格式
- 输入: MP3, WAV, AAC, FLAC, OGG, WMA, M4A 等
- 输出: MP3, AAC, FLAC, WAV, OGG, Opus, WMA
图片格式
- 输入: JPG, PNG, WebP, GIF, BMP, TIFF, ICO 等
- 输出: JPG, PNG, WebP, GIF, BMP, TIFF, ICO
🏗️ 项目结构
format-converter/
├── src/ # 前端源代码
│ ├── index.html # 主页面(使用 Tailwind CSS)
│ ├── style.css # 自定义样式(动画和特效)
│ ├── main.js # 前端逻辑(ES6 模块)
│ └── thumbnail-helper.js # 缩略图辅助工具
├── src-tauri/ # Tauri 后端
│ ├── src/
│ │ ├── main.rs # Rust 后端主程序
│ │ └── ffmpeg_installer.rs # FFmpeg 自动安装器
│ ├── icons/ # 应用图标
│ ├── Cargo.toml # Rust 依赖配置
│ └── tauri.conf.json # Tauri 配置
├── node_modules/ # Node.js 依赖(自动生成,不要提交到 Git)
├── package.json # Node.js 项目配置
├── package-lock.json # 依赖版本锁定文件
├── README.md # 项目说明文档
└── TESTING_FFMPEG.md # FFmpeg 测试指南
关键文件说明
node_modules/- Node.js 依赖包文件夹,由npm install自动生成,包含所有前端依赖(Tailwind CSS、Lucide 等)。不要手动修改,也不要提交到 Git。package.json- 定义项目依赖和脚本命令package-lock.json- 锁定依赖版本,确保团队成员使用相同版本src/index.html- 主页面,使用 Tailwind CSS CDN 和 Lucide 图标src/style.css- 精简的自定义样式,只包含动画和特殊效果(199 行)src/main.js- 前端业务逻辑,使用 ES6 模块src-tauri/src/main.rs- Rust 后端,处理文件分析、格式转换等
🛠️ 技术栈
前端
- HTML5 - 页面结构
- Tailwind CSS - 现代化 CSS 框架(utility-first)
- Lucide Icons - 轻量级图标库
- Vanilla JavaScript - ES6+ 模块化
后端
- Rust - 系统编程语言
- Tauri 2.0 - 桌面应用框架
- FFmpeg - 多媒体处理引擎
开发工具
- npm - 包管理器
- Cargo - Rust 包管理器
🔧 开发指南
开发模式
npm run dev
这会启动 Tauri 开发服务器,支持热重载。
调试
- 后端日志: 在终端中查看 Rust 输出
- 前端调试: 按 F12 打开 DevTools
- Tauri API: 使用
console.log调试前端逻辑
构建
npm run build
构建产物位于 src-tauri/target/release/bundle/:
- Windows:
.msi或.exe - macOS:
.dmg或.app - Linux:
.deb,.AppImage等
📝 脚本命令
# 开发模式(热重载)
npm run dev
# 构建发布版本
npm run build
# 运行 Tauri CLI
npm run tauri
🐛 常见问题
Q: FFmpeg 未安装怎么办?
A: 应用会自动检测 FFmpeg,如果未安装会显示安装引导。您也可以手动安装:
- macOS:
brew install ffmpeg - Windows: 下载并添加到 PATH
- Linux:
sudo apt install ffmpeg
Q: 图标不显示?
A: 确保网络连接正常,Lucide CDN 需要联网加载。或检查浏览器控制台是否有错误。
Q: 转换失败?
A: 检查:
- FFmpeg 是否正确安装
- 输入文件是否损坏
- 输出路径是否有写入权限
- 查看终端日志获取详细错误信息
Q: node_modules 文件夹很大?
A: 这是正常的,node_modules 包含所有前端依赖。不要提交到 Git(已在 .gitignore 中)。
📄 许可证
MIT License - 详见 LICENSE 文件
🙏 致谢
- FFmpeg - 强大的多媒体处理框架
- Tauri - 现代化桌面应用框架
- Tailwind CSS - 实用优先的 CSS 框架
- Lucide - 精美的开源图标库
📮 联系方式
- 官网: meshel.cn
- 问题反馈: GitHub Issues
火炬格式转换器 - 让格式转换更简单
Made with ❤️ by Meshel