Programa do Curso
Dia 1 – Manipulação de Dispositivos de Mídia
1. Permissões do Navegador com navigator.permissions
- Acesso ao hardware:
- Câmera Web
- Micrófono
- Permissões opcionais:
- Geolocalização
- Área de transferência (leitura/escrita)
- Consulta e status das permissões
- Limitações e compatibilidade do navegador
- Caso prático
2. Leitura de Dispositivos de Mídia com navigator.mediaDevices
- Enumeração de dispositivos
- Lidando com mudanças nos dispositivos
- Caso prático
3. Compatibilidade entre Navegadores
- Uso da API:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Estratégia de fallback para Safari
- Caso prático
4. Manipulação de Dispositivos de Mídia
- Inicialização do dispositivo: getUserMedia(constraints)
- Restrições dos dispositivos de mídia
- Iniciar e parar fluxos de mídia
- Lidando com mudanças nos dispositivos
- Caso prático
5. Gravação de Dispositivos com MediaRecorder
- Iniciar/parar streaming e gravação
- Baixar arquivo .webm
- Prévia em tempo real da forma de onda
- Caso prático
Adições Opcionais:
- Salvar no formato .wav usando ScriptProcessorNode
- Visualização do espectro FFT de áudio
- Barras de volume em decibéis
- Reconhecimento de voz com webkitSpeechRecognition
Dia 2 – Conexão Peer-to-Peer
1. Servidores de Sinalização
- Opções de canais bidirecionais:
- WebSocket
- Socket.io
- SignalR
- Estrutura das mensagens
- Cliente WebRTC simplificado
- Fluxo completo de sinalização
- Caso prático
2. Chat de Vídeo via WebRTC
- Arquitetura: Node.js + ws
- Cliente WebRTC: RTCPeerConnection
- Teste local E2E
- Caso prático
Recursos Opcionais:
- Desligar a chamada (fechar conexão, parar mídia)
- Chamadas em grupo (salas multi-usuário)
- Autenticação simples baseada em token
3. Compartilhamento de Tela
- Uso de getDisplayMedia()
- Arquitetura e opções
- Caso prático
4. Protocolo de Descrição de Sessão (SDP)
- Introdução e conteúdo
- Ler e interpretar SDP
- Codificadores:
- Áudio & Vídeo
- Negociação e controle
- Estratégias de fallback
- Caso prático
5. Estatísticas WebRTC com getStats()
- Tipos de estatísticas
- Como interpretar as estatísticas
- Gráficos em tempo real de taxa de bits/jitter
- Estratégias de adaptação de qualidade
- Caso prático
Requisitos
Declaração de Clientes (5)
Gostei do facto de o Gunnar ter escrito praticamente todo o código durante o curso, mas de haver muito material pré-preparado no Google Drive que posso consultar após a formação. O código que o Gunnar escreveu com base nos dados de amostra que forneci previamente também foi extremamente útil e tornou a formação relevante para os nossos próprios conjuntos de dados.
Ranvir - Schroders Personal Wealth
Curso - Visual Studio Code
Máquina Traduzida
Múltiplos exemplos para cada módulo e grande conhecimento do formador.
Sebastian - BRD
Curso - Secure Developer Java (Inc OWASP)
Máquina Traduzida
Módulo3 Ataques e explorações de aplicações, XSS, injeção SQL Módulo4 Ataques e explorações de servidores, DOS, BOF
Tshifhiwa - Vodacom
Curso - How to Write Secure Code
Máquina Traduzida
Exemplos da vida real.
Kristoffer Opdahl - Buypass AS
Curso - Web Security with the OWASP Testing Framework
Máquina Traduzida
O conhecimento do treinador sobre o assunto foi excelente, e a forma como as sessões foram organizadas para que o público pudesse acompanhar as demonstrações realmente ajudou a consolidar esse conhecimento, em comparação com apenas sentar e ouvir.
Jack Allan - RSM UK Management Ltd.
Curso - Secure Developer .NET (Inc OWASP)
Máquina Traduzida