Programa do Curso
Manuseio de Dispositivos de Mídia
1. Permissões de Navegador com navigator.permissions
- Acesso a hardware:
- Webcam
- Microfone
- Permissões opcionais:
- Geolocalização
- Notificações
- Área de transferência (leitura/escrita)
- Pesquisa e status de permissão
- Limitações e compatibilidade entre navegadores
2. Leitura de Dispositivos de Mídia com navigator.mediaDevices
- Enumeração de dispositivos
- Manuseio de alterações de dispositivo
3. Compatibilidade entre Navegadores
- Uso da API:
- navigator.permissions.query()
- navigator.mediaDevices.enumerateDevices()
- getUserMedia()
- Estratégia de fallback para Safari
4. Manuseio 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
- Manuseio de alterações de dispositivo
5. Gravação de Dispositivos com MediaRecorder
- Iniciar/parar streaming e gravação
- Baixar arquivo .webm
- Pré-visualização em tempo real da forma de onda
Recursos 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
Conexão de Pares
1. Servidores de Sinalização
- Opções de canal bidirecional:
- 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
Recursos Opcionais:
- Desligar chamada (fechar conexão, parar mídia)
- Chamadas em grupo (salas multiusuário)
- Autenticação simples baseada em token
3. Compartilhamento de Tela
- Uso de getDisplayMedia()
- Arquitetura e opções
4. Protocolo de Descrição de Sessão (SDP)
- Introdução e conteúdo
- Leitura e interpretação de SDP
- Codecs:
- Áudio & Vídeo
- Negociação e controle
- Estratégias de fallback
5. Estatísticas WebRTC com getStats()
- Como interpretar as estatísticas
- Gráficos ao vivo de taxa de bits/jitter
- Estratégias de adaptação de qualidade
6. Todos os tópicos incluem
- Casos práticos
Requisitos
Este curso é ideal para desenvolvedores frontend e full-stack, arquitetos técnicos e engenheiros que estão construindo recursos de comunicação em tempo real baseados em navegador, como chat de vídeo, compartilhamento de tela ou transmissão de áudio. Os participantes devem ter conhecimento prático de JavaScript e tecnologias web, com experiência opcional em Node.js e comunicação baseada em WebSocket.
Declaração de Clientes (5)
Gostei de como Gunnar escreveu praticamente todo o código em tempo real enquanto estávamos avançando, mas havia muita material pré-preparado no Google Drive que posso consultar após o treinamento. O código que Gunnar escreveu com base nos dados de amostra que forneci anteriormente também foi extremamente útil e tornou o treinamento 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 instrutor.
Sebastian - BRD
Curso - Secure Developer Java (Inc OWASP)
Máquina Traduzida
Módulo 3 Ataques e Explorações em Aplicações, XSS, Injeção SQL Módulo 4 Ataques e Explorações em 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 instrutor sobre o assunto era excelente, e a forma como as sessões foram organizadas para que o público pudesse acompanhar as demonstrações ajudou muito a fixar 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