Update README.md
New implemented modules
This commit is contained in:
151
README.md
151
README.md
@ -1,74 +1,105 @@
|
|||||||
# OBS Recording Transcriber
|
# Video Transcriber
|
||||||
|
|
||||||
Process OBS recordings or any video/audio files with AI-based transcription and summarization locally on your machine.
|
## Project Overview
|
||||||
|
The video Recording Transcriber is a Python application built with Streamlit that processes video recordings (particularly from OBS Studio) to generate transcripts and summaries using AI models. The application uses Whisper for transcription and Hugging Face Transformers for summarization.
|
||||||
|
|
||||||
|
## Key Improvement Areas
|
||||||
|
|
||||||
## Features
|
### 1. UI Enhancements
|
||||||
- AI transcription using Whisper.
|
- **Implemented:**
|
||||||
- Summarization using Hugging Face Transformers.
|
- Responsive layout with columns for better organization
|
||||||
- File selection, resource validation, and error handling.
|
- Expanded sidebar with categorized settings
|
||||||
- Speaker diarization to identify different speakers in recordings.
|
- Custom CSS for improved button styling
|
||||||
- Language detection and translation capabilities.
|
- Spinner for long-running operations
|
||||||
- Keyword extraction with timestamp linking.
|
- Expanded transcript view by default
|
||||||
- Interactive transcript with keyword highlighting.
|
|
||||||
- Export to TXT, SRT, VTT, and ASS subtitle formats with compression options.
|
|
||||||
- GPU acceleration for faster processing.
|
|
||||||
- Caching system for previously processed files.
|
|
||||||
|
|
||||||
## Installation
|
- **Additional Recommendations:**
|
||||||
|
- Add a dark mode toggle
|
||||||
|
- Implement progress bars for each processing step
|
||||||
|
- Add tooltips for complex options
|
||||||
|
- Create a dashboard view for batch processing results
|
||||||
|
- Add visualization of transcript segments with timestamps
|
||||||
|
|
||||||
### Easy Installation (Recommended)
|
### 2. Ollama Local API Integration
|
||||||
|
- **Implemented:**
|
||||||
|
- Local API integration for offline summarization
|
||||||
|
- Model selection from available Ollama models
|
||||||
|
- Chunking for long texts
|
||||||
|
- Fallback to online models when Ollama fails
|
||||||
|
|
||||||
#### Windows
|
- **Additional Recommendations:**
|
||||||
1. Download or clone the repository
|
- Add temperature and other generation parameters as advanced options
|
||||||
2. Run `install.bat` by double-clicking it
|
- Implement streaming responses for real-time feedback
|
||||||
3. Follow the on-screen instructions
|
- Cache results to avoid reprocessing
|
||||||
|
- Add support for custom Ollama model creation with specific instructions
|
||||||
|
- Implement parallel processing for multiple chunks
|
||||||
|
|
||||||
#### Linux/macOS
|
### 3. Subtitle Export Formats
|
||||||
1. Download or clone the repository
|
- **Implemented:**
|
||||||
2. Open a terminal in the project directory
|
- SRT export with proper formatting
|
||||||
3. Make the install script executable: `chmod +x install.sh`
|
- ASS export with basic styling
|
||||||
4. Run the script: `./install.sh`
|
- Multi-format export options
|
||||||
5. Follow the on-screen instructions
|
- Automatic segment creation from plain text
|
||||||
|
|
||||||
### Manual Installation
|
- **Additional Recommendations:**
|
||||||
1. Clone the repo.
|
- Add customizable styling options for ASS subtitles
|
||||||
```
|
- Implement subtitle editing before export
|
||||||
git clone https://github.com/DataAnts-AI/VideoTranscriber.git
|
- Add support for VTT format for web videos
|
||||||
cd VideoTranscriber
|
- Implement subtitle timing adjustment
|
||||||
```
|
- Add batch export for multiple files
|
||||||
|
|
||||||
2. Install dependencies:
|
### 4. Architecture and Code Quality
|
||||||
```
|
- **Recommendations:**
|
||||||
pip install -r requirements.txt
|
- Implement proper error handling and logging throughout
|
||||||
```
|
- Add unit tests for critical components
|
||||||
|
- Create a configuration file for default settings
|
||||||
|
- Implement caching for processed files
|
||||||
|
- Add type hints throughout the codebase
|
||||||
|
- Document API endpoints for potential future web service
|
||||||
|
|
||||||
Notes:
|
### 5. Performance Optimizations
|
||||||
- Ensure that the versions align with the features you use and your system compatibility.
|
- **Recommendations:**
|
||||||
- torch version should match the capabilities of your hardware (e.g., CUDA support for GPUs).
|
- Implement parallel processing for batch operations
|
||||||
- For advanced features like speaker diarization, you'll need a HuggingFace token.
|
- Add GPU acceleration configuration options
|
||||||
- See `INSTALLATION.md` for detailed instructions and troubleshooting.
|
- Optimize memory usage for large files
|
||||||
|
- Implement incremental processing for very long recordings
|
||||||
|
- Add compression options for exported files
|
||||||
|
|
||||||
3. Run the application:
|
### 6. Additional Features
|
||||||
```
|
- **Recommendations:**
|
||||||
streamlit run app.py
|
- Speaker diarization (identifying different speakers)
|
||||||
```
|
- Language detection and translation
|
||||||
|
- Keyword extraction and timestamp linking
|
||||||
|
- Integration with video editing software
|
||||||
|
- Batch processing queue with email notifications
|
||||||
|
- Custom vocabulary for domain-specific terminology
|
||||||
|
|
||||||
## Usage
|
## Implementation Roadmap
|
||||||
1. Set your base folder where OBS recordings are stored
|
1. **Phase 1 (Completed):** Basic UI improvements, Ollama integration, and subtitle export
|
||||||
2. Select a recording from the dropdown
|
2. **Phase 2 (Completed):** Performance optimizations and additional export formats
|
||||||
3. Choose transcription and summarization models
|
- Added WebVTT export format for web videos
|
||||||
4. Configure performance settings (GPU acceleration, caching)
|
- Implemented GPU acceleration with automatic device selection
|
||||||
5. Select export formats and compression options
|
- Added caching system for faster processing of previously transcribed files
|
||||||
6. Click "Process Recording" to start
|
- Optimized memory usage with configurable memory limits
|
||||||
|
- Added compression options for exported files
|
||||||
|
- Enhanced ASS subtitle styling options
|
||||||
|
- Added progress indicators for better user feedback
|
||||||
|
3. **Phase 3 (Completed):** Advanced features like speaker diarization and translation
|
||||||
|
- Implemented speaker diarization to identify different speakers in recordings
|
||||||
|
- Added language detection and translation capabilities
|
||||||
|
- Integrated keyword extraction with timestamp linking
|
||||||
|
- Created interactive transcript with keyword highlighting
|
||||||
|
- Added named entity recognition for better content analysis
|
||||||
|
- Generated keyword index with timestamp references
|
||||||
|
- Provided speaker statistics and word count analysis
|
||||||
|
4. **Phase 4:** Integration with other tools and services
|
||||||
|
|
||||||
## Advanced Features
|
## Technical Considerations
|
||||||
- **Speaker Diarization**: Identify and label different speakers in your recordings
|
- Ensure compatibility with different Whisper model sizes
|
||||||
- **Translation**: Automatically detect language and translate to multiple languages
|
- Handle large files efficiently to prevent memory issues
|
||||||
- **Keyword Extraction**: Extract important keywords with timestamp links
|
- Provide graceful degradation when optional dependencies are missing
|
||||||
- **Interactive Transcript**: Navigate through the transcript with keyword highlighting
|
- Maintain backward compatibility with existing workflows
|
||||||
- **GPU Acceleration**: Utilize your GPU for faster processing
|
- Consider containerization for easier deployment
|
||||||
- **Caching**: Save processing time by caching results
|
|
||||||
|
|
||||||
## Contributing
|
## Conclusion
|
||||||
Contributions are welcome! Please feel free to submit a Pull Request.
|
The OBS Recording Transcriber has a solid foundation but can be significantly enhanced with the suggested improvements. The focus should be on improving user experience, adding offline processing capabilities, and expanding export options to make the tool more versatile for different use cases.
|
||||||
|
|||||||
Reference in New Issue
Block a user