mediamtx

MediaMTX Header Image
¿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:

  1. Abre tu navegador e ingresa a la interfaz de publicación o WHIP endpoint:
    https://10.2.107.49:8889/mi-escritorio/publish
  2. Acepta la advertencia de certificado autofirmado si aplica.
  3. En los ajustes de la interfaz, selecciona H.264 para Video y Opus para Audio.
  4. Al hacer clic en Start / Transmitir, el navegador te pedirá seleccionar una fuente. Selecciona "Pantalla completa".
  5. ¡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:

  1. Ingresa a la URL con el nombre de stream deseado, por ejemplo:
    https://10.2.107.49:8889/camara-web/publish
  2. Concede permisos al navegador para acceder a tu Cámara y Micrófono.
  3. Verifica que los códecs estén configurados en H.264 (video) y Opus (audio).
  4. Selecciona el dispositivo de cámara correcto en el menú desplegable de entrada de video.
  5. 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):

  1. Navega a: https://10.2.107.49:8889/chrome-stream/publish
  2. Asegúrate de que los códecs estén en H.264 / Opus.
  3. Al solicitar compartir pantalla, elige la pestaña "Pestaña de Chrome".
  4. Paso Clave: Asegúrate de marcar la casilla en la esquina inferior izquierda: "Compartir también el audio de la pestaña".
  5. 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:

  1. Abre la interfaz de transmisión en Firefox:
    https://10.2.107.49:8889/firefox-stream/publish
  2. Configura los códecs de transmisión en H.264 y Opus.
  3. En el cuadro emergente de permisos de Firefox, elige la pestaña o ventana específica que deseas compartir en el menú desplegable.
  4. 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.
💡 Parámetros del Servidor MediaMTX:
  • 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]