Programa del Curso

Día 1 – Manejo de Dispositivos Multimedia

1. Permisos del Navegador con navigator.permissions

  • Accessndo hardware:
    • Cámara web
    • Micrófono
  • Permisos opcionales:
    • Geolocalización
    • Notificaciones
    • Portapapeles (lectura/escritura)
  • Consulta y estado de permisos
  • Límites y compatibilidad del navegador
  • Caso práctico

2. Lectura de Dispositivos Multimedia con navigator.mediaDevices

  • Enumeración de dispositivos
  • Gestión de cambios en los dispositivos
  • Caso práctico

3. Compatibilidad entre Navegadores

  • Uso de API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Estrategia de respaldo para Safari
  • Caso práctico

4. Manejo de Dispositivos Multimedia

  • Inicialización del dispositivo: getUserMedia(constraints)
  • Restricciones de dispositivos multimedia
  • Inicio y detención de flujos multimedia
  • Gestión de cambios en los dispositivos
  • Caso práctico

5. Grabación con MediaRecorder

  • Inicio/parada del streaming y grabación
  • Descarga del archivo .webm
  • Vista previa en tiempo real de la forma de onda
  • Caso práctico

Añadidos Opcionales:

  • Guardar en formato .wav usando ScriptProcessorNode
  • Visualización del espectro FFT de audio
  • Barras de volumen en decibelios
  • Reconocimiento de voz con webkitSpeechRecognition

Día 2 – Conexión Peer-to-Peer

1. Servidores de Señalización

  • Opciones de canales bidireccionales:
    • WebSocket
    • Socket.io
    • SignalR
  • Estructura del mensaje
  • Cliente simplificado WebRTC
  • Flujo completo de señalización
  • Caso práctico

2. Video Chat a través de WebRTC

  • Arquitectura: Node.js + ws
  • Cliente WebRTC: RTCPeerConnection
  • Pruebas E2E locales
  • Caso práctico

Características Opcionales:

  • Hang-up de llamada (cerrar conexión, detener multimedia)
  • Llamadas grupales (salas multiusuario)
  • Autenticación simple basada en tokens

3. Compartir Pantalla

  • Uso de getDisplayMedia()
  • Arquitectura y opciones
  • Caso práctico

4. Protocolo de Descripción de Sesión (SDP)

  • Introducción y contenido
  • Lectura e interpretación del SDP
  • Codificadores:
    • Audio & Video
    • Negociación y control
    • Estrategias de respaldo
  • Caso práctico

5. WebRTC Statistics con getStats()

  • Tipo de estadísticas
  • Cómo interpretar las estadísticas
  • Gráficos en tiempo real de tasa de bits/jitter
  • Estrategias de adaptación de calidad
  • Caso práctico

 

Requerimientos

Este curso es ideal para desarrolladores frontend y full-stack, arquitectos técnicos e ingenieros que están construyendo características de comunicación en tiempo real basadas en navegadores, como chat de video, compartir pantalla o transmisión de audio. Los participantes deben tener conocimientos prácticos de JavaScript y tecnologías web, con experiencia opcional en Node.js y comunicaciones basadas en WebSocket.
 14 Horas

Número de participantes


Precio por Participante​

Testimonios (5)

Próximos cursos

Categorías Relacionadas