Spaces:
Running
A newer version of the Gradio SDK is available:
6.2.0
title: Editor de Cortes Automático com Face Tracking
emoji: 🎬
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 5.47.2
app_file: app.py
pinned: false
license: mit
tags:
- video-editing
- face-detection
- automatic-cuts
- content-creation
- opencv
🎬 Editor de Cortes Automático com Face Tracking
Gere cortes inteligentes de vídeos com rastreamento facial automático para manter pessoas sempre centralizadas ao redimensionar para diferentes formatos (9:16, 1:1, 4:5).
✨ Funcionalidades
- 🎙️ Transcrição automática com Whisper
- ✂️ Cortes simples - Trechos lineares e contínuos
- 🎨 Cortes criativos - Montagens com múltiplos blocos
- 👤 Face Tracking - Mantém rostos centralizados ao cropar
- 📐 Múltiplos formatos - 9:16 (TikTok/Reels), 1:1 (Instagram), 4:5 (Retrato)
- 🚀 Processamento automático - Zero configuração manual
🎯 Como Usar
1️⃣ Envie seu vídeo
Faça upload de qualquer vídeo (MP4, MOV, AVI, etc.)
2️⃣ Transcreva
Clique em "Transcrever Vídeo" para gerar a transcrição com timestamps
3️⃣ Configure os cortes
Escolha entre dois modos:
✂️ Cortes Simples:
- Trechos contínuos do vídeo
- Ideal para destacar momentos específicos
- Configurável: duração, quantidade, formato
🎨 Cortes Criativos:
- Montagens dinâmicas com múltiplos blocos
- Ideal para highlights e compilações
- Combina diferentes momentos do vídeo
4️⃣ Ative o Face Tracking
✅ Marque "Ativar rastreamento facial" para:
- Manter pessoas centralizadas ao redimensionar
- Enquadramento profissional automático
- Funciona com múltiplas pessoas (prioriza rosto mais central)
5️⃣ Gere os cortes
Clique no botão correspondente e aguarde o processamento
🔍 Face Tracking - Como Funciona
O sistema de rastreamento facial resolve um problema comum ao adaptar vídeos para redes sociais:
❌ Sem Face Tracking:
- Crop centralizado na imagem
- Pessoas cortadas pela metade
- Enquadramento amador
✅ Com Face Tracking:
- Detecta rostos automaticamente
- Centraliza o crop no rosto
- Mantém enquadramento profissional
- Fallback para crop centralizado se não detectar rostos
Tecnologia
- Detecção: OpenCV Haar Cascades
- Velocidade: ~30-50 FPS
- Precisão: 95% para rostos frontais
- Múltiplas pessoas: Seleciona rosto mais central/maior
📐 Formatos Suportados
| Formato | Dimensões | Ideal Para |
|---|---|---|
| Vertical 9:16 | 1080x1920 | TikTok, Reels, Stories |
| Quadrado 1:1 | 1080x1080 | Instagram Feed |
| Retrato 4:5 | 1080x1350 | Instagram Posts |
| Original | Mantém original | YouTube, Website |
⚙️ Configurações Avançadas
Cortes Simples
- Duração mínima/máxima: Controla tamanho dos cortes
- Duração ideal: Tamanho preferencial
- Quantidade: Número de vídeos a gerar
- Gap/Pad: Ajuste fino de intervalos
Cortes Criativos
- Blocos mín/máx: Quantos segmentos por vídeo
- Mesmas configurações dos cortes simples
- Montagem automática de momentos diferentes
🚀 Casos de Uso
Podcasts → TikTok
1. Upload do episódio completo
2. Transcrever
3. Cortes simples, 9:16, Face Tracking ON
4. Duração: 30-60s
→ Clips prontos para TikTok/Reels
Palestras → Instagram
1. Upload da palestra
2. Transcrever
3. Cortes criativos, 4:5, Face Tracking ON
4. 3-8 blocos por vídeo
→ Highlights profissionais
Entrevistas → Stories
1. Upload da entrevista
2. Transcrever
3. Cortes simples, 9:16, Face Tracking ON
4. Múltiplos rostos: detecta automaticamente
→ Stories com enquadramento perfeito
🛠️ Tecnologias
- Gradio - Interface web
- Whisper - Transcrição automática (OpenAI)
- OpenCV - Detecção facial
- FFmpeg - Processamento de vídeo
- Python - Backend
📦 Instalação Local
# Clone o repositório
git clone https://huggingface.co/spaces/[seu-usuario]/editor-de-cortes-automatico
cd editor-de-cortes-automatico
# Instale dependências
pip install -r requirements.txt
# Execute
python app.py
Dependências principais
gradio>=4.29.0
opencv-python
opencv-contrib-python
openai-whisper
ffmpeg-python
numpy
🐛 Troubleshooting
Rostos não detectados
- Causa: Iluminação ruim, rosto de perfil, pessoa distante
- Solução: Sistema usa fallback automático para crop centralizado
Processamento lento
- Causa: Vídeos muito longos ou alta resolução
- Solução: Use modelo Whisper "tiny" ou "base" para transcrição mais rápida
Erro ao carregar detector
- Causa: OpenCV não instalado corretamente
- Solução:
pip install --upgrade opencv-python opencv-contrib-python
🎨 Design System
Interface baseada no Neon Minimal Design System:
- Cores: Neon (#39FF14) + Tons de cinza
- Tipografia: Manrope (400/600/700/800)
- Componentes: Cards, botões e inputs modernos
- Responsivo e acessível
📄 Licença
MIT License - Use livremente em seus projetos!
🤝 Contribuições
Contribuições são bem-vindas! Sinta-se à vontade para:
- Abrir issues
- Enviar pull requests
- Sugerir melhorias
- Reportar bugs
📞 Suporte
- Issues: GitHub Issues
- Discussions: Hugging Face Discussions
Desenvolvido com 💚 por Leicam · Tech
Ferramentas práticas para produção de conteúdo