Temario del curso

Manejo de Dispositivos Multimedia

1. Permisos de Navegador con navigator.permissions

  • Acceso a hardware:
    • Cámara web
    • Micrófono
  • Permisos opcionales:
    • Geolocalización
    • Notificaciones
    • Pegado y copiado (leer/escritura)
  • Consulta de permisos y estado
  • Limitaciones y compatibilidad entre navegadores

2. Lectura de Dispositivos Multimedia con navigator.mediaDevices

  • Enumeración de dispositivos
  • Gestión de cambios en los dispositivos

3. Compatibilidad entre Navegadores

  • Uso de API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Estrategia de retroceso para Safari

4. Manejo de Dispositivos Multimedia

  • Inicialización del dispositivo: getUserMedia(constraints)
  • Restricciones de dispositivos multimedia
  • Iniciar y detener flujos multimedia
  • Gestión de cambios en los dispositivos

5. Grabación de Dispositivos con MediaRecorder

  • Iniciar/detener transmisión y grabación
  • Descargar archivo .webm
  • Vista previa en tiempo real de onda

Añadidos Opcionales:

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

Conexión Peer-to-Peer

1. Servidores de Señalización

  • Opciones de canal bidireccional:
    • WebSocket
    • Socket.io
    • SignalR
  • Estructura del mensaje
  • Cliente WebRTC simplificado
  • Flujo de señalización completo

2. Video Chat via WebRTC

  • Arquitectura: Node.js + ws
  • Cliente WebRTC: RTCPeerConnection
  • Pruebas E2E locales

Características Opcionales:

  • Colgar la llamada (cerrar conexión, detener medios)
  • Llamadas de grupo (salas multiusuario)
  • Autenticación simple basada en tokens

3. Compartir Pantalla

  • Uso de getDisplayMedia()
  • Arquitectura y opciones

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

  • Introducción y contenido
  • Lectura e interpretación de SDP
  • Códecs:
    • Audio & Video
    • Negociación y control
    • Estrategias de retroceso

5. Estadísticas WebRTC con getStats()

  • Tipos de estadísticas
  • Cómo interpretar las estadísticas
  • Gráficos en vivo de bitrate/jitter
  • Estrategias de adaptación de calidad

6. Todos los temas son

  • Casos prácticos

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 videochat, compartir pantalla o streaming de audio. Los participantes deben tener un conocimiento práctico de JavaScript y tecnologías web, con experiencia opcional en Node.js y comunicación basada en WebSocket.

 14 Horas

Testimonios (5)

Próximos cursos

Categorías Relacionadas