Files
Format-Converter/README.md

6.8 KiB
Raw Permalink Blame History

火炬格式转换器 2.0.0

基于 FFmpeg 和 Tauri 2.0 的跨平台媒体格式转换工具

Tauri Rust License

特性

  • 🎬 多格式支持 - 支持视频、音频、图片等多种格式转换
  • ⚙️ 丰富参数 - 自定义编码器、分辨率、帧率、比特率等
  • 🚀 高性能 - 基于 Rust + Tauri 2.0,原生性能
  • 🎨 现代化 UI - 使用 Tailwind CSS + Lucide 图标
  • 📊 实时进度 - 转换进度实时显示
  • 🖥️ 跨平台 - 支持 Windows、macOS、Linux
  • 🔄 批量转换 - 支持多文件批量处理
  • 💾 智能输出 - 自动检测或自定义输出路径

🚀 快速开始

系统要求

必需依赖

  1. FFmpeg - 核心转换引擎

    • Windows: 从 ffmpeg.org 下载并添加到 PATH
    • macOS: brew install ffmpeg
    • Linux: sudo apt install ffmpeg
  2. Rust - 编译 Tauri 后端

    • 安装:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • 或访问 rustup.rs
  3. Node.js - 前端构建工具

    • 推荐版本v18 或更高
    • 下载:nodejs.org

Tauri 系统依赖

请参考 Tauri 2.0 官方文档 安装对应平台的系统依赖。

安装步骤

  1. 克隆项目

    git clone <your-repo>
    cd format-converter
    
  2. 安装依赖

    npm install
    

    这会自动下载并安装所有 Node.js 依赖到 node_modules 文件夹

  3. 开发模式运行

    npm run dev
    
  4. 构建发布版本

    npm run build
    

    构建完成后,安装包位于 src-tauri/target/release/bundle/ 目录

📖 使用说明

基本流程

  1. 添加文件

    • 点击拖放区域选择文件
    • 或直接拖放文件到窗口
  2. 配置转换参数

    • 选择目标格式MP4、MP3、JPG 等)
    • 设置编码参数(可选)
    • 选择输出位置
  3. 开始转换

    • 点击"开始转换"按钮
    • 查看实时进度
  4. 完成

    • 转换完成后自动打开输出文件夹(可选)

支持的格式

视频格式

  • 输入: 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: 检查:

  1. FFmpeg 是否正确安装
  2. 输入文件是否损坏
  3. 输出路径是否有写入权限
  4. 查看终端日志获取详细错误信息

Q: node_modules 文件夹很大?

A: 这是正常的,node_modules 包含所有前端依赖。不要提交到 Git已在 .gitignore 中)。

📄 许可证

MIT License - 详见 LICENSE 文件

🙏 致谢

  • FFmpeg - 强大的多媒体处理框架
  • Tauri - 现代化桌面应用框架
  • Tailwind CSS - 实用优先的 CSS 框架
  • Lucide - 精美的开源图标库

📮 联系方式


火炬格式转换器 - 让格式转换更简单

Made with ❤️ by Meshel