Programa del Curso

Día 1 – Manejo de Dispositivos Multimedio

1. Permisos del Navegador con navigator.permissions

  • Accessando 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 Multimedio con navigator.mediaDevices

  • Enumeración de dispositivos
  • Manejo de cambios en 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 Multimedio

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

5. Grabación con MediaRecorder

  • Inicio/parada del streaming y grabación
  • Descarga de 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 para 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 locales E2E (desde extremo a extremo)
  • Caso práctico

Características Opcionales:

  • Terminación 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:
    • Auditorio y video
    • Negociación y control
    • Estrategias de respaldo
  • Caso práctico

5. WebRTC Statistics con getStats()

  • Tipos de estadísticas
  • Cómo interpretar las estadísticas
  • Graficas en tiempo real de tasa de bits/ajuste de frecuencia
  • 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 construyen características de comunicación en tiempo real basadas en el navegador, 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 la comunicación basada en WebSocket.
 14 Horas

Número de participantes


Precio por Participante​

Testimonios (5)

Próximos cursos

Categorías Relacionadas