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.

 14 Horas

Número de participantes


Preço por Participante

Declaração de Clientes (5)

Próximas Formações Provisórias

Categorias Relacionadas