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.
Testimonios (5)
Me gustó cómo Gunnar escribió casi todo el código a medida que avanzábamos, pero también había mucho material preparado en Google Drive al que puedo referirme después del entrenamiento. El código que Gunnar escribió basándose en los datos de muestra que proporcioné antes fue extremadamente útil y también hizo que el entrenamiento fuera relevante para nuestros propios conjuntos de datos.
Ranvir - Schroders Personal Wealth
Curso - Visual Studio Code
Traducción Automática
Múltiples ejemplos para cada módulo y gran conocimiento del formador.
Sebastian - BRD
Curso - Secure Developer Java (Inc OWASP)
Traducción Automática
Módulo 3 Aplicaciones, Ataques y Explotaciones, XSS, Inyección SQL Módulo 4 Servidores, Ataques y Explotaciones, DOS, BOF
Tshifhiwa - Vodacom
Curso - How to Write Secure Code
Traducción Automática
Ejemplos de la vida real.
Kristoffer Opdahl - Buypass AS
Curso - Web Security with the OWASP Testing Framework
Traducción Automática
El conocimiento del formador sobre el tema fue excelente, y la forma en que se organizaron las sesiones para que el público pudiera seguir los ejemplos realmente ayudó a consolidar ese conocimiento, en comparación con solo sentarse y escuchar.
Jack Allan - RSM UK Management Ltd.
Curso - Secure Developer .NET (Inc OWASP)
Traducción Automática