Servidores RTMP
Usa Servidores RTMP para recibir señales de OBS, encoders y emisores invitados en endpoints estables de ingesta RTMP. Controla el acceso de publicación y reproducción y consulta después el bitrate y los datos de conexión en tiempo real.
Elige este módulo cuandoOBS, un encoder RTMP o un invitado necesita una URL push estable, control de acceso y analítica de conexión en directo.
Usa otro módulo cuandoUsa Servidores SRT para transporte SRT y failover; usa Streams solo para identidades dentro de un servidor existente.
/api/rtmp-servers/createAntes de empezar
Todos los métodos de gestión requieren un x-access-token válido. Reserva un puerto de escucha accesible y define el control de streams y los ajustes de acceso del servidor antes de compartir los datos de conexión.
Qué puedes hacer
createyupdateconfiguran el puerto de escucha, el búfer del reproductor y la política de acceso a los streams.getAll,getCountygetByIdconsultan los servidores y los registros de streams permitidos.startystopcontrolan el listener RTMP.getStatisticsdevuelve el bitrate de entrada y salida, el número de emisores y receptores y, cuando están disponibles, la dirección, región y aplicación de cada cliente.getStatisticHistorydevuelve el historial reciente de estadísticas disponible.removeelimina el servidor.
Flujo de ejemplo
- Crea el servidor RTMP con su puerto de escucha y el búfer del reproductor.
- Elige acceso mediante stream key o dirección IP, o permite conexiones de invitados únicamente si el flujo lo requiere.
- Inicia el listener y entrega a cada emisor los datos de conexión previstos.
- Llama a
getStatisticspara comprobar el bitrate, los roles y el origen de la conexión. - Conecta la ingesta con una grabación, retransmisión o reproductor web.
Casos de uso habituales
- Recibir contribuciones recurrentes desde OBS o un encoder en un endpoint estable.
- Permitir que emisores y receptores invitados autorizados creen sus propias stream keys según la política de acceso seleccionada.
- Supervisar conexiones de clientes o recintos por bitrate, rol, dirección y región.
- Convertir una señal de contribución RTMP en reproducción HLS o DASH para el navegador.
Límites y resolución de problemas
El puerto debe estar libre y ser accesible. Las reglas de acceso, las stream keys y los roles de emisor o receptor deben coincidir con la conexión. Las estadísticas recientes son datos operativos, no un almacén histórico de analítica; expórtalas si necesitas más retención o alertas.
Siguientes pasos
Valida un emisor con getStatistics y conecta después el servidor con Retransmisiones, Grabaciones o Reproductores web.
Aceptar emisores RTMP y revisar el bitrate en directo
Aprovisiona un punto de entrada RTMP con la política de acceso necesaria, inícialo y consulta las estadísticas actuales y recientes del mismo recurso.
- Crear la ingesta RTMPElige el puerto, el búfer y el acceso abierto, por stream id o por IP.
POST /api/rtmp-servers/create - Iniciar el servidorActiva el punto de entrada antes de conectar OBS, un encoder u otro emisor.
POST /api/rtmp-servers/start - Consultar estadísticas en directoRevisa el bitrate y los datos de conexión actuales y usa el historial para muestras recientes.
POST /api/rtmp-servers/getStatistics
Una respuesta de creación correcta confirma la configuración, no el estado del medio. Inicia el recurso y comprueba sus estadísticas antes de enviar tráfico de producción.
Dar acceso RTMP de invitado para publicar y recibir
Crea un servidor temporal abierto para claves elegidas por invitados, o registros explícitos de emisor y receptor para claves controladas o hosts fijos, y verifica las conexiones en las estadísticas.
- Crear una ingesta abierta o controladaElige acceso abierto, por clave o por IP e incluye roles de emisor y receptor cuando necesites access_settings.
POST /api/rtmp-servers/create - Consultar la lista de accesoUsa getById porque la respuesta de creación puede no incluir los registros relacionados.
POST /api/rtmp-servers/getById - Verificar emisores y receptoresConfirma bitrate, recuentos por rol, direcciones y datos geográficos de los invitados esperados.
POST /api/rtmp-servers/getStatistics
CONTROL_ACCESS_ALLOW_ALL permite que invitados se conecten con una clave elegida; no es autenticación. En producción usa CONTROL_ACCESS_STREAM_ID o CONTROL_ACCESS_IP_ADDRESS con access_settings por rol y retira el acceso temporal después del evento.
Crea un servidor de ingesta RTMP con puerto de escucha, búfer de reproducción, estado inicial y reglas opcionales de acceso por stream key o IP. Envía el JWT generado en el panel mediante la cabecera x-access-token.
server_buflen se expresa en segundos. El valor predeterminado es 5 y el intervalo admitido es de 1 a 120.
Cuando envías stream_control_type y access_settings, Callaba crea las reglas de acceso junto con el servidor. La respuesta de creación puede mostrar access: []; usa getById para obtener la lista completa.
Ejemplos de solicitud
Elige una plantilla de ingesta abierta, con stream keys explícitas o con direcciones IP fijas. También hay un ejemplo de vMix Script para el aprovisionamiento desde un flujo de operador.
Casos de uso habituales
- Ofrecer a OBS u otro encoder de software un endpoint estable de contribución RTMP.
- Restringir la publicación de colaboradores o estudios mediante stream keys o una lista de IP permitidas.
- Crear una ingesta que alimente reproducción en el navegador mediante HLS o DASH.
Usa este patrón cuando los publicadores y receptores deban autenticarse con claves de flujo RTMP explícitas en lugar de usar una ingesta abierta. Reproduce el ajuste predefinido del panel, que crea una clave para el publicador y otra para el receptor.
Usa este patrón cuando los equipos RTMP tengan direcciones fijas conocidas. El ajuste predefinido del panel crea reglas para publicadores y receptores basadas en la dirección del equipo, en lugar de hacerlo por ID de flujo.
Etiqueta en el panel: Nombre.
El formulario usa Live de forma predeterminada. La validación exige un valor no vacío y no permite barras.
El contrato de API validado actualmente acepta SERVER_TYPE_RTMP.
Etiqueta en el panel: Activar tras crearlo.
Este valor representa el estado del servidor. Al desactivarlo, se desconectan todos los publicadores y receptores vinculados al servidor RTMP.
Etiqueta en el panel: Puerto.
El panel comienza con 1945. La API REST acepta puertos de 1 a 65535. Elige un puerto libre al que puedan acceder los publicadores y espectadores.
Etiqueta en el panel: Duración del búfer (s).
Este valor se configura en segundos. El panel comienza con 5 y el intervalo admitido va de 1 a 120.
Este ajuste controla cuánto contenido almacena el reproductor en el búfer antes de iniciar la reproducción.
Sección del panel: Flujos permitidos.
Determina si el servidor RTMP valida los publicadores y receptores entrantes mediante una clave de flujo explícita o una lista de direcciones permitidas. El flujo de creación actual usa valores como CONTROL_ACCESS_STREAM_ID y CONTROL_ACCESS_IP_ADDRESS.
Conjunto opcional de reglas de acceso que se crearán junto con el servidor.
En el modo de clave de flujo, cada elemento suele incluir stream_id y role_name. En el modo basado en IP, cada elemento utiliza host y role_name.
Id de recurso que se devuelve al crear o listar el servidor RTMP.
Alias práctico de _id.
Nombre guardado del servidor.
Tipo de servidor. El producto devuelve SERVER_TYPE_RTMP en producción.
Puerto de escucha RTMP devuelto por el producto.
Duración configurada del búfer RTMP.
Indicador del estado de ejecución actual guardado en el objeto del servidor.
Documento del puerto asociado al servicio de escucha RTMP.
Marca de tiempo de creación.
Marca de tiempo de la última modificación.
Modo de control de acceso guardado en el servidor RTMP, si se proporcionó.
Actualmente, la respuesta de create en producción devuelve este campo como una lista vacía, incluso si se enviaron valores en access_settings. Usa getById para obtener los registros de acceso relacionados ya completos.
El modelo expone success: true como campo virtual en las respuestas correctas.