Course Code: webrtbspok
Duration: 14 hours
Prerequisites:
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.
Overview:

Este curso de dos días sobre WebRTC ofrece un viaje práctico y paso a paso al mundo de la comunicación en tiempo real basada en el navegador. Comenzando con los fundamentos del acceso a dispositivos multimedia, los participantes aprenderán cómo gestionar de manera segura y efectiva cámaras, micrófonos y permisos en diferentes navegadores. A medida que avanza el curso, se sumergirán en conceptos clave de WebRTC como llamadas de video punto a punto, señalización y negociación de sesiones, construyendo soluciones funcionales con herramientas como WebSocket y RTCPeerConnection. Durante el camino, casos de uso prácticos guiarán a los aprendices a través del registro, la compartición de pantalla y el análisis en tiempo real de audio/video. Al finalizar, los asistentes comprenderán cómo diseñar e implementar aplicaciones impulsadas por WebRTC que sean robustas y listas para producción.

  • Obtén experiencia práctica con el manejo de dispositivos multimedia, permisos del navegador y compatibilidad entre navegadores usando navigator.mediaDevices y getUserMedia.
  • Aprende a construir sistemas de comunicación de video punto a punto con WebRTC y protocolos de señalización como WebSocket y Socket.IO
  • Implementa el registro de flujos multimedia, previstas de forma de onda, compartición de pantalla y seguimiento en tiempo real de estadísticas de audio/video.
  • Explora temas avanzados como la negociación SDP, selección de códecs, monitoreo en vivo del bitrate y adaptación dinámica de calidad.
  • Ideal para desarrolladores que buscan integrar características modernas de comunicación basadas en navegador en aplicaciones reales.
Course Outline:

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

 

Sites Published:

United Arab Emirates - WebRTC

Qatar - WebRTC

Egypt - WebRTC

Saudi Arabia - WebRTC

South Africa - WebRTC

Brasil - WebRTC

Canada - WebRTC

中国 - WebRTC

香港 - WebRTC

澳門 - WebRTC

台灣 - WebRTC

USA - WebRTC

Österreich - WebRTC

Schweiz - WebRTC

Deutschland - WebRTC

Czech Republic - WebRTC

Denmark - WebRTC

Estonia - WebRTC

Finland - WebRTC

Greece - WebRTC

Magyarország - WebRTC

Ireland - WebRTC

Luxembourg - WebRTC

Latvia - WebRTC

España - WebRTC

Italia - WebRTC

Lithuania - WebRTC

Nederland - WebRTC

Norway - WebRTC

Portugal - WebRTC

România - WebRTC

Sverige - WebRTC

Türkiye - WebRTC

Malta - WebRTC

Belgique - WebRTC

France - WebRTC

日本 - WebRTC

Australia - WebRTC

Malaysia - WebRTC

New Zealand - WebRTC

Philippines - WebRTC

Singapore - WebRTC

Thailand - WebRTC

Vietnam - WebRTC

India - WebRTC

Argentina - WebRTC

Chile - WebRTC

Costa Rica - WebRTC

Ecuador - WebRTC

Guatemala - WebRTC

Colombia - WebRTC

México - WebRTC

Panama - WebRTC

Peru - WebRTC

Uruguay - WebRTC

Venezuela - WebRTC

Polska - WebRTC

United Kingdom - WebRTC

South Korea - WebRTC

Pakistan - WebRTC

Sri Lanka - WebRTC

Bulgaria - WebRTC

Bolivia - WebRTC

Indonesia - WebRTC

Kazakhstan - WebRTC

Moldova - WebRTC

Morocco - WebRTC

Tunisia - WebRTC

Kuwait - WebRTC

Oman - WebRTC

Slovakia - WebRTC

Kenya - WebRTC

Nigeria - WebRTC

Botswana - WebRTC

Slovenia - WebRTC

Croatia - WebRTC

Serbia - WebRTC

Bhutan - WebRTC

Nepal - WebRTC

Uzbekistan - WebRTC