Programa do Curso
Gerenciamento de Dispositivos de Mídia
1. Permissões do Navegador com navigator.permissions
- Acesso ao hardware:
- Webcam
- Microfone
- Permissões opcionais:
- Geolocalização
- Notificações
- Área de transferência (leitura/gravação)
- Consulta e status das permissões
- Limitações e compatibilidade entre navegadores
2. Leitura de Dispositivos de Mídia com navigator.mediaDevices
- Listagem de dispositivos
- Manipulação de mudanças nos dispositivos
3. Compatibilidade entre Navegadores
- Uso das APIs:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Estratégia de fallback para Safari
4. Manipulação de Dispositivos de Mídia
- Inicialização do dispositivo: getUserMedia(constraints)
- Restrições de dispositivos de mídia
- Início e parada de fluxos de mídia
- Manipulação de mudanças nos dispositivos
5. Gravação de Dispositivos com MediaRecorder
- Iniciar/parar streaming e gravação
- Baixar arquivo .webm
- Pré-visualização da forma de onda em tempo real
Add-ons Opcionais:
- Salvar no formato .wav usando ScriptProcessorNode
- Visualização do espectro FFT do áudio
- Barras de volume em decibéis
- Reconhecimento de voz com webkitSpeechRecognition
Conexão Peer (Peer Connection)
1. Servidores de Sinalização
- Opções de canais bidirecionais:
- WebSocket
- Socket.io
- SignalR
- Estrutura da mensagem
- Cliente WebRTC simplificado
- Fluxo completo de sinalização
2. Chat de Vídeo via WebRTC
- Arquitetura: Node.js + ws
- Cliente WebRTC: RTCPeerConnection
- Teste E2E local
Funcionalidades Opcionais:
- Desligar a chamada (fechar conexão, parar mídia)
- Chamadas em grupo (salas multiusuário)
- Autenticação simples baseada em tokens
3. Compartilhamento de Tela
- Uso do getDisplayMedia()
- Arquitetura e opções
4. Protocolo de Descrição de Sessão (SDP)
- Introdução e conteúdos
- Leitura e interpretação do SDP
- Codecs:
- Áudio & Vídeo
- Negociação e controle
- Estratégias de fallback
5. Estatísticas do WebRTC com getStats()
- Tipos de estatísticas
- Como interpretar as estatísticas
- Gráficos de taxa de bits/jitter ao vivo
- Estratégias de adaptação de qualidade
6. Todos os tópicos são
- Casos práticos
Requisitos
Este curso é ideal para desenvolvedores frontend e full-stack, arquitetos técnicos e engenheiros que estejam construindo recursos de comunicação em tempo real baseados no navegador, como chat de vídeo, compartilhamento de tela ou streaming de áudio. Os participantes devem ter um conhecimento prático de JavaScript e tecnologias web, sendo opcional experiência com Node.js e comunicação baseada em WebSocket.
Testemunhos de Clientes (3)
Gostei muito de aprender sobre ataques de IA e as ferramentas disponíveis para começar a praticar e usar ativamente na segurança. Saí da aula com bastante conhecimento que eu não tinha no começo, e o curso foi exatamente o que eu esperava. A parte que mais me chamou atenção na apresentação foi o Comet Browser, e fiquei impressionado com o que ele pode fazer. Com certeza investigarei isso mais a fundo. No geral, foi um ótimo curso e aproveitei muito para aprender o OWASP Top 10 para GenAI.
Patrick Collins - Optum
Curso - OWASP GenAI Security
Máquina Traduzida
Práticas, exercícios, ajuda presencial e esclarecimento de dúvidas.
Jose Paulos - INESC TEC
Curso - Tailwind CSS
Máquina Traduzida
Que cada lição técnica vinha acompanhada de vários exercícios práticos para fixar os conceitos.
Andrei-Calin Bajea
Curso - OWASP Top 10 2025
Máquina Traduzida