mediamtx
¿Qué es?
MediaMTX (anteriormente conocido como rtsp-simple-server) es un servidor multimedia y proxy inverso de transmisión de video y audio listo para usar, de alto rendimiento y cero dependencias. Es una solución de código abierto diseñada para facilitar el enrutamiento, la publicación y el consumo de flujos de medios en tiempo real.
Tecnologías y Protocolos que utiliza:
MediaMTX está desarrollado íntegramente en Go (Golang), lo que le otorga una excelente gestión de concurrencia, bajo consumo de recursos y facilidad de despliegue mediante ejecutable único o contenedor Docker.
Soporta y convierte dinámicamente una amplia variedad de protocolos de streaming:
- RTSP: Protocolo estándar para cámaras de seguridad e IP.
- RTMP / RTMPS: Utilizado tradicionalmente por software de transmisión como OBS Studio.
- WebRTC: Permite reproducción e ingesta con latencia ultra baja directamente desde navegadores web sin plugins.
- HLS (HTTP Live Streaming): Para transmisión web estándar escalable a miles de usuarios.
- SRT (Secure Reliable Transport): Protocolo moderno de transmisión segura con corrección de errores sobre redes inestables.
- UDP / MPEG-TS: Transmisión directa por red local o difusión.
Tutorial: Cómo publicar transmisiones en MediaMTX
Aprende a enviar video y audio en tiempo real a tu servidor MediaMTX configurado en
https://10.2.107.49:8889/ usando WebRTC (Whip).
⚙️ Selección de Codecs: H.264 + Opus
Para maximizar la compatibilidad en todas las plataformas y navegadores (especialmente si vas a retransmitir hacia HLS o RTMP sin transcodificar), asegúrate de seleccionar los siguientes códecs en los ajustes de publicación:
- Video Codec:
H.264(Proporciona la más alta compatibilidad de hardware y menor consumo de CPU al decodificar). - Audio Codec:
Opus(Ofrece máxima calidad de audio con bajo ancho de banda para transmisiones WebRTC).
🖥️ 1. Publicar el Escritorio Completo
MediaMTX incluye un cliente WebRTC integrado en su puerto HTTP/WHIP. Puedes transmitir toda tu pantalla ejecutando este procedimiento:
- Abre tu navegador e ingresa a la interfaz de publicación o WHIP endpoint:
https://10.2.107.49:8889/mi-escritorio/publish - Acepta la advertencia de certificado autofirmado si aplica.
- En los ajustes de la interfaz, selecciona H.264 para Video y Opus para Audio.
- Al hacer clic en Start / Transmitir, el navegador te pedirá seleccionar una fuente. Selecciona "Pantalla completa".
- ¡Listo! Tu escritorio estará disponible en
https://10.2.107.49:8889/mi-escritorio.
📷 2. Publicar una Webcam
Para transmitir tu cámara web directamente al servidor mediante WebRTC:
- Ingresa a la URL con el nombre de stream deseado, por ejemplo:
https://10.2.107.49:8889/camara-web/publish - Concede permisos al navegador para acceder a tu Cámara y Micrófono.
- Verifica que los códecs estén configurados en H.264 (video) y Opus (audio).
- Selecciona el dispositivo de cámara correcto en el menú desplegable de entrada de video.
- Haz clic en iniciar la transmisión.
🌐 3. Publicar Pestaña de Google Chrome (con Audio del Sistema)
Google Chrome permite capturar tanto el video como el audio nativo de una pestaña específica (útil para YouTube, Spotify o reproductores web):
- Navega a:
https://10.2.107.49:8889/chrome-stream/publish - Asegúrate de que los códecs estén en H.264 / Opus.
- Al solicitar compartir pantalla, elige la pestaña "Pestaña de Chrome".
- Paso Clave: Asegúrate de marcar la casilla en la esquina inferior izquierda: "Compartir también el audio de la pestaña".
- Inicia la captura. El audio interno codificado en Opus se enviará directamente a MediaMTX.
🦊 4. Publicar Pestaña en Mozilla Firefox
Firefox maneja la captura de pestañas y ventanas de manera ligeramente diferente:
- Abre la interfaz de transmisión en Firefox:
https://10.2.107.49:8889/firefox-stream/publish - Configura los códecs de transmisión en H.264 y Opus.
- En el cuadro emergente de permisos de Firefox, elige la pestaña o ventana específica que deseas compartir en el menú desplegable.
- Nota sobre el audio: Para enviar el audio de la pestaña en Firefox, debes permitir la captura del audio del sistema o utilizar un micrófono/dispositivo virtual de audio asignado.
- Servidor Base:
https://10.2.107.49:8889/ - Codecs recomendados: Video:
H.264| Audio:Opus - Publicación WebRTC (WHIP):
https://10.2.107.49:8889/[nombre_stream]/publish - Visualización WebRTC (WHEP):
https://10.2.107.49:8889/[nombre_stream]