Skip to content

专业的视频处理工具 - 支持转码、合并、字幕处理和格式转换

License

Notifications You must be signed in to change notification settings

binbin1213/VideoTool

Repository files navigation

VideoTool - 强大的跨平台视频处理工具

VideoTool Logo

专业的视频处理工具 - 支持转码、合并、字幕处理和格式转换

Build Status Ask Zread Release License

功能特性快速开始下载安装开发文档

功能特性

  • 字幕格式转换 - SRT/ASS/VTT 三种格式互转,支持批量转换,可自定义样式模板
  • 视频转码 - 支持 MP4/MKV/AVI 等格式,AI 智能推荐参数,多轨道音频/字幕处理
  • 字幕烧录 - 硬字幕(永久嵌入)和软字幕(封装到 MKV)双模式,支持 ASS/SRT/VTT 格式
  • 音视频合并 - 支持硬件加速(VideoToolbox/NVENC/QSV),快速合并音频和视频文件
  • 样式编辑器 - 实时预览 ASS 字幕样式,支持自定义预设保存和导出
  • 自动化 FFmpeg - 一键安装 FFmpeg,自动配置,无需手动设置
  • 跨平台支持 - macOS(Intel + Apple Silicon)、Windows
  • 现代化界面 - 简洁美观的用户界面,支持亮色/暗色主题,中英文双语

更多功能正在开发中,敬请期待!查看 项目状态 了解详情

下载安装

下载预编译版本

访问 Releases 页面 下载适合您系统的版本:

  • macOS: VideoTool-{version}-universal.dmg (支持 Intel 和 Apple Silicon)
  • Windows: VideoTool-Setup-{version}.exe (安装版) 或 VideoTool-{version}.exe (便携版)

从源码构建

如果您想从源码构建,请参阅开发部分。


快速开始

系统要求

  • Node.js 18+
  • pnpm 8+
  • FFmpeg(自动包含在打包版本中)

安装依赖

pnpm install

开发模式

pnpm dev

构建应用

# 构建 macOS 版本 (x64/arm64 单独构建)
pnpm build:mac

# 构建 macOS 通用版本 (x64 + arm64)
pnpm build:mac:universal

# 构建 Windows 版本
pnpm build:win

# 构建所有平台 (macOS + Windows)
pnpm build:all

GitHub Actions 自动构建

本项目配置了 GitHub Actions 自动构建。创建 Git Tag 即可触发自动构建和发布:

git tag v1.3.0
git push origin v1.3.0

详细的发布流程和配置说明请查看 发布流程 Wiki

开发

项目结构

VideoTool/
├── src/
│   ├── main/              # Electron 主进程
│   │   ├── index.ts       # 主进程入口
│   │   ├── preload.ts     # 预加载脚本
│   │   ├── ipc/           # IPC 通信处理器
│   │   ├── services/      # 服务层(FFmpeg、转码、更新等)
│   │   └── utils/         # 工具函数(字幕处理等)
│   ├── renderer/          # React 渲染进程
│   │   ├── App.tsx        # 应用入口
│   │   ├── components/    # React 组件
│   │   │   ├── Common/    # 通用组件
│   │   │   ├── Features/  # 功能模块(字幕转换、转码、合并等)
│   │   │   └── Layout/    # 布局组件
│   │   ├── hooks/         # 自定义 Hooks
│   │   ├── store/         # 状态管理(Zustand)
│   │   ├── i18n/          # 国际化配置
│   │   ├── locales/       # 语言文件(zh-CN、en-US)
│   │   ├── styles/        # 样式文件(SCSS)
│   │   ├── types/         # TypeScript 类型定义
│   │   └── utils/         # 工具函数
│   ├── shared/            # 主进程和渲染进程共享代码
│   │   ├── types/         # 共享类型定义
│   │   ├── presets/       # 预设配置(样式、规则等)
│   │   └── constants/     # 常量定义
│   ├── types/             # 全局类型定义
│   └── assets/            # 资源文件(模板等)
├── public/                # 静态资源
├── resources/             # 构建资源(图标、FFmpeg 等)
└── scripts/               # 构建和开发脚本

技术栈

  • 框架: Electron 34 + React 18.3
  • 语言: TypeScript 5.7
  • 构建: Vite 6 + electron-builder
  • 状态管理: Zustand 5
  • UI库: React Bootstrap 2 + Bootstrap 5
  • 视频处理: FFmpeg (fluent-ffmpeg)
  • 样式: Sass (SCSS)

开发脚本

pnpm dev          # 启动开发服务器
pnpm build        # 构建生产版本
pnpm test         # 运行测试
pnpm lint         # 代码检查
pnpm format       # 代码格式化

文档

贡献

欢迎贡献代码!请查看 贡献指南 了解如何参与项目开发。

许可证

本项目采用 MIT License 开源协议。

联系方式


VideoTool - 让视频处理更简单

Made with Love by Binbin | Copyright © 2025

About

专业的视频处理工具 - 支持转码、合并、字幕处理和格式转换

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors