122 lines
2.9 KiB
Markdown
122 lines
2.9 KiB
Markdown
# Video Subtitle Merger 2.0
|
|
|
|
A desktop application that allows you to merge video files with subtitle files using FFmpeg. Built with Tauri (Rust + React), this application provides a modern, efficient interface for combining videos with subtitles.
|
|
|
|
## Features
|
|
|
|
- Merge video files with subtitle files (supports MP4, AVI, MOV, MKV videos and SRT, ASS subtitles)
|
|
- Option to add black bars for subtitles
|
|
- Option to resize videos to 720p resolution
|
|
- Real-time progress tracking
|
|
- Modern, user-friendly interface
|
|
- Native performance with small application size
|
|
- Cross-platform support (currently tested on macOS)
|
|
|
|
## Tech Stack
|
|
|
|
- **Frontend**:
|
|
- React
|
|
- TypeScript
|
|
- Tailwind CSS
|
|
- Vite
|
|
|
|
- **Backend**:
|
|
- Rust
|
|
- Tauri
|
|
- FFmpeg (required dependency)
|
|
|
|
## Prerequisites
|
|
|
|
Before building the application, ensure you have the following installed:
|
|
|
|
- Node.js (v16 or later)
|
|
- Rust (latest stable)
|
|
- FFmpeg
|
|
- pnpm (package manager)
|
|
- Tauri development dependencies
|
|
|
|
### macOS Setup
|
|
|
|
1. Install Rust:
|
|
```bash
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
|
```
|
|
|
|
2. Install Node.js and pnpm:
|
|
```bash
|
|
brew install node
|
|
npm install -g pnpm
|
|
```
|
|
|
|
3. Install FFmpeg:
|
|
```bash
|
|
brew install ffmpeg
|
|
```
|
|
|
|
4. Install Tauri development dependencies:
|
|
```bash
|
|
xcode-select --install
|
|
```
|
|
|
|
## Building from Source
|
|
|
|
1. Clone the repository:
|
|
```bash
|
|
git clone https://gitea.sigd.net/chaulmark/subtitle-merge.git
|
|
cd subtitle-merge
|
|
```
|
|
|
|
2. Install dependencies:
|
|
```bash
|
|
pnpm install
|
|
```
|
|
|
|
3. Run in development mode:
|
|
```bash
|
|
pnpm tauri dev
|
|
```
|
|
|
|
4. Build for production:
|
|
```bash
|
|
pnpm tauri build
|
|
```
|
|
|
|
The built application will be available in `src-tauri/target/release/bundle/`.
|
|
|
|
## Usage
|
|
|
|
1. Launch the application
|
|
2. You may need to perform the following to make your MacOS allow you to run this application:
|
|
```bash
|
|
xattr -cr "/Applications/Video Subtitle Merger 2.0.app"
|
|
```
|
|
2. Select your video file using the "Select Video" button
|
|
3. Select your subtitle file using the "Select Subtitle" button
|
|
4. Choose your preferences:
|
|
- Add black bar for subtitles (recommended for better readability)
|
|
- Resize to 720p resolution (helps with file size)
|
|
5. Click "Merge Video and Subtitle"
|
|
6. Wait for the process to complete
|
|
7. The merged video will be saved in the same directory as the input video
|
|
|
|
## Development
|
|
|
|
The project structure follows the standard Tauri + React template:
|
|
|
|
- `/src` - React frontend code
|
|
- `/src-tauri` - Rust backend code
|
|
- `/src/components` - React components
|
|
- `/src/styles` - CSS and styling files
|
|
- `/src-tauri/src` - Rust source files
|
|
|
|
## Contributing
|
|
|
|
1. Fork the repository
|
|
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
|
|
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
|
|
4. Push to the branch (`git push origin feature/AmazingFeature`)
|
|
5. Open a Pull Request
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the LICENSE file for details.
|