A simple Streamlit application that allows you to:
- Upload a video
- Add text overlay (manually or generate using LLMs)
- Convert text to speech
- Combine everything into a final video
- Video upload support (MP4, MOV, AVI)
- Text overlay with customizable appearance
- Text-to-speech conversion
- Integration with local LLMs (Ollama and LM Studio)
- Easy download of processed videos
- Install dependencies:
pip install -r requirements.txt- Run the app:
streamlit run app.py- Build the container:
docker build -t video-text-overlay .- Run the container:
docker run -p 8501:8501 video-text-overlayThe app supports two local LLM options:
- Install Ollama from: https://ollama.ai/
- Run Ollama locally
- Default endpoint: http://localhost:11434
- Install LM Studio from: https://lmstudio.ai/
- Run your chosen model locally
- Default endpoint: http://localhost:1234/v1/completions
- Open the app in your browser (default: http://localhost:8501)
- Choose your LLM settings in the sidebar (optional)
- Upload a video file
- Either:
- Enter text directly in the text area
- Or use an LLM to generate text by entering a prompt
- Click "Process Video" to create the final video
- Download the processed video using the download button
- The app creates temporary files that are cleaned up after processing
- Text overlay is centered and sized to 80% of video width
- Audio is generated using pyttsx3 (offline TTS)