# DeafBlind Video Assistant

The DeafBlind Video Assistant is a powerful desktop application designed to make video content more accessible to DeafBlind individuals. Built with Tauri, React, and powered by FFmpeg and Google's Gemini AI, it provides comprehensive tools for video processing and AI-powered content analysis.

## Features

### 1. Video Processing
- Seamlessly merge subtitle files (SRT, ASS) with videos
- Hardware-accelerated video processing using FFmpeg
- Optimized subtitle positioning and visibility
- Optional black bars for enhanced subtitle readability
- Real-time progress tracking during processing

### 2. AI-Powered Visual Description
- Advanced visual analysis using Google's Gemini AI
- Detailed scene descriptions focusing on:
  * Visual setup and environment
  * People present and their positioning
  * Relevant visual context and background details
- Chronological narrative combining visual and subtitle content
- Customizable description prompts

### 3. User Experience
- Intuitive, accessible interface
- Clear task selection and workflow
- Real-time progress feedback
- Secure API key management
- Persistent settings storage
- Copy-to-clipboard functionality
- High-contrast visual design

## System Requirements

### For Users
- macOS 10.13 or later
- Apple Silicon (M1/M2/M3) processor
- Internet connection for AI features
- Google AI Studio API key for visual description features
- Minimum 4GB RAM recommended
- 500MB free disk space

### For Development
- Xcode Command Line Tools
- Node.js 18+
- pnpm package manager
- Rust stable toolchain
- Go 1.21+
- FFmpeg (via Homebrew)
- Apple Developer Program membership (for distribution)

## Installation

### For Users
1. Download the DMG file
2. Open the DMG file
3. Drag "DeafBlind Video Assistant" to your Applications folder
4. Launch from Applications folder
5. On first launch:
   - Allow any required system permissions
   - Visit Settings to configure your Gemini API key
   - Test API key connection before use

### For Developers

1. Clone the repository:
```bash
git clone https://github.com/yourusername/deafblind-video-assistant.git
cd deafblind-video-assistant
```

2. Install system dependencies:
```bash
# Install Homebrew if not already installed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Install required packages
brew install ffmpeg
```

3. Install project dependencies:
```bash
# Install Node dependencies
pnpm install

# Build Go executable
cd gemini && go build
```

4. Set up development environment:
```bash
# Start development server
pnpm tauri dev
```

## Building for Distribution

1. Configure signing:
- Obtain Apple Developer ID Application certificate
- Configure signing identity in Xcode

2. Build the application:
```bash
# Production build with notarization
APPLE_ID="your.email@example.com" \
APPLE_TEAM_ID="YOUR_TEAM_ID" \
APPLE_PASSWORD="APP_SPECIFIC_PASSWORD" \
pnpm tauri build
```

## Development Architecture

- Frontend: React 18 with TypeScript and Tailwind CSS
- Backend: Tauri (Rust) for native functionality
- Video Processing: FFmpeg with hardware acceleration
- AI Integration: Go implementation for Gemini API
- Build System: Vite + Tauri CLI
- Distribution: Code signed and notarized for macOS

## Getting Started

1. Obtain a Gemini API key from [Google AI Studio](https://aistudio.google.com/app/apikey)
2. Enter your API key in the Settings
3. Choose your task:
   - "Generate Transcription" for AI-powered video descriptions
   - "Merge Subtitles" for embedding subtitles into videos
4. Follow the on-screen instructions for file selection and processing

## Security & Privacy

- Application is signed with Apple Developer ID
- Local processing of video files
- Secure API key storage
- No data collection or tracking

## 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

## Support & Feedback

For issues, feature requests, or feedback, please create an issue in the repository.

## License

[Add your chosen license here]

## Acknowledgments

Special thanks to:
- The DeafBlind community for their invaluable input
- FFmpeg for video processing capabilities
- Google's Gemini AI for visual analysis
- The Tauri team for the application framework
- All contributors and supporters of the project

---
SHA256: b5158bdf30a5de2cee08b2317d14af155fb39f9a5f416ee44d3736b45692cfde  
Build Date: January 28, 2025
