Projeto desenvolvido no âmbito da Residência Tecnológica Porto Digital × Globo, pelo grupo Grow up da turma 2026.1 da Universidade Tiradentes (UNIT). O sistema analisa vídeos (MP4/MXF/YouTube) com a API do Gemini. Gera roteiro locução neural via Edge TTS, legendas viabilizando acessibilidade em escala.
# 🎬 Audiodescrição Automatizada
> **Projeto da Residência Tecnológica Porto Digital × Globo**
> Grupo **Grow up** · Universidade Tiradentes (UNIT) · 2026.1
Sistema de geração automática de audiodescrição para conteúdos audiovisuais, desenvolvido como solução de acessibilidade para pessoas com deficiência visual, utilizando IA generativa multimodal.
---
## 📌 Contexto
Este projeto foi desenvolvido no âmbito da **Residência Tecnológica Porto Digital × TV Globo**, programa que conecta estudantes da UNIT a desafios reais da indústria de comunicação.
O desafio proposto pela Globo: automatizar a geração de audiodescrição — narração em áudio que descreve elementos visuais de um vídeo para pessoas cegas ou com baixa visão — processo que hoje é feito 100% manualmente por roteiristas especializados.
A solução foi **eleita o melhor projeto da turma** na etapa de validação técnica (Coday).
---
## ✨ Funcionalidades
| Funcionalidade | Descrição |
|---|---|
| 🎬 **Múltiplos formatos** | MP4, MXF (broadcast) e YouTube |
| 🤖 **IA generativa** | Gemini 2.5 Flash analisa o vídeo completo |
| ⏱️ **Calibração automática** | Duração detectada via ffprobe, prompt ajustado para caber no tempo |
| 🏷️ **Nome automático** | Título gerado pelo próprio Gemini com base no conteúdo |
| 🎙️ **Voz neural** | Edge TTS com `pt-BR-FranciscaNeural` |
| 📄 **Exportação SRT** | Legenda no padrão da indústria com timecodes reais |
| 🌐 **Player HTML** | Standalone com legenda sincronizada via SRT + controles |
| 📦 **Modo batch** | Processa vários vídeos em sequência |
| 🔍 **Histórico com busca** | JSON local com todos os vídeos processados |
| 🛡️ **Resiliência** | Fallback entre modelos + retry automático em erros 503/429 |
---
## 🏗️ Arquitetura
```
📁 projeto/
├── main.py # Orquestrador: menu, batch, histórico
├── gemini_client.py # Upload, nome automático, audiodescrição
├── srt_generator.py # Exportação de legenda no formato SRT
├── historico.py # Persistência e busca de reg …