Camera App
Aplicação de câmera profissional construída em SwiftUI
Visão Geral
Camera App é uma aplicação profissional de gravação de vídeo com recursos avançados como gravação segmentada, teleprompter flutuante redimensionável, filtros em tempo real e controles cinematográficos.
Construída com SwiftUI e AVFoundation, a aplicação oferece qualidade cinematográfica com controle total sobre todos os aspectos da captura de vídeo.
✨ Funcionalidades Principais
🎬 Gravação Segmentada
Sistema de takes múltiplos com preview individual e concatenação automática. Grave, revise e combine vários segmentos em um único vídeo final.
📜 Teleprompter Dinâmico
Overlay flutuante com rolagem automática, controles de velocidade e tamanho de fonte. Perfeito para roteiros e apresentações.
🎨 Filtros em Tempo Real
Aplicação de filtros Core Image durante a exportação. Suporte para filtros personalizados com preview visual.
🎥 Controles Profissionais
Zoom com pinch, foco/exposição por toque, alternância 0.5x/1x/2x, estabilização cinemática e muito mais.
⚡ Codificação HEVC/H.264
Preferência automática por HEVC com fallback para H.264. Vídeos com até 50% menos tamanho mantendo a qualidade.
📱 Orientação Dinâmica
Suporte a todas as orientações com aplicação correta do transform. Seus vídeos sempre na orientação correta.
🚀 Começar Rápido
📚 Navegação da Documentação
Para Desenvolvedores
- Começando - Setup, instalação e primeiros passos
- Arquitetura - Visão geral do padrão MVVM e fluxo de dados
- Componentes - Documentação detalhada de cada componente
- Guias - Tutoriais práticos e casos de uso
Referências Técnicas
- Fluxo de Dados - Como os dados fluem pela aplicação
- Performance - Otimizações e best practices
- Escolhas Técnicas - Decisões de arquitetura e suas razões
- API Reference - Documentação completa da API
🏗️ Arquitetura
A aplicação utiliza MVVM (Model-View-ViewModel) com comunicação reativa via Combine, garantindo separação clara de responsabilidades:
┌─────────────────────────────────────────────┐
│ SwiftUI Views │
│ ContentView • Teleprompter • Preview │
└─────────────┬───────────────────────────────┘
│ @Published Properties
▼
┌─────────────────────────────────────────────┐
│ ViewModels │
│ CameraViewModel • TeleprompterViewModel │
└─────────────┬───────────────────────────────┘
│ Business Logic
▼
┌─────────────────────────────────────────────┐
│ Controllers & Services │
│ CaptureSession • SegmentedRecorder │
└─────────────┬───────────────────────────────┘
│ AVFoundation APIs
▼
┌─────────────────────────────────────────────┐
│ AVFoundation │
│ Session • Device • FileOutput │
└─────────────────────────────────────────────┘
🎯 Casos de Uso
📖 Próximos Passos
🤝 Contribuindo
Esta é uma documentação viva. Encontrou algo que pode ser melhorado?
Desenvolvido por Pedro Deboni Del Valle • Time Conty • 2025