---
title: roMediaServer
slug: develop/es/romediaserver
docTags: 
createdAt: 2025-03-11T07:07:18.732Z
---

El objeto *roMediaServer* espera solicitudes de clientes, gestiona la negociación y, finalmente, genera una canalización *roMediaStreamer* para cumplir la solicitud. Para obtener más información, consulte la sección [Servidor multimedia BrightSign](docId\:B6e8mGH--2yp06LLh1aha) . El equivalente en JavaScript es node-media-server.

Este objeto actualmente admite solicitudes RTSP y HTTP. Las solicitudes del cliente deben adoptar la siguiente forma:

```text
protocol://IP_address:port/media_streamer_pipeline
```

- `protocolo`: Ya sea rtsp o http
- `IP_address:puerto`: La dirección IP del reproductor BrightSign y el número de puerto en el que se está ejecutando el servidor multimedia.
- `media_streamer_pipeline`: Una canalización de transmisión multimedia, pero sin el componente de destino final (ya que el destino está implícito en la solicitud del cliente).

Creación de objetos: El objeto *roMediaServer* se crea sin parámetros

```text
CreateObject("roMediaServer")
```

## ifMediaServer

### GetFailureReason() As String

Devuelve información útil si los métodos `Start()`, `Stop()` o `Terminate()` devuelven `Falso`.

### Start(a As String) As Boolean

Inicia una instancia del servidor multimedia. A este método se le puede pasar una cadena que especifique el protocolo de transmisión y el número de puerto del servidor:

```text
s = CreateObject("roMediaServer")
s.Start("http:port=8080")
```

Se pueden agregar varios parámetros opcionales después del parámetro de puerto usando un "&" (ampersand):

- `rastro`: Muestra un seguimiento de mensajes en la negociación con el cliente. Este parámetro es útil particularmente para depurar sesiones RTSP. Por ejemplo: `"rtsp:port=554&trace"`
- `maxbitrate`: Establece la tasa de bits instantánea máxima (en Kbps) de la transferencia RTP iniciada por RTSP. Este parámetro no tiene efecto para HTTP. Se ha comprobado que el valor del parámetro 80000 (es decir, 80Mbps) funciona bien. El comportamiento predeterminado (que también se logra pasando un valor cero) es no limitar en absoluto la tasa de bits. Por ejemplo: `"rtsp:port=554&trace&maxbitrate=80000"`
- `hilos`: Establece el número máximo de subprocesos que el servidor está preparado para ejecutar. Cada subproceso maneja una única solicitud de cliente. El valor predeterminado es "5". Por ejemplo: `"http:port=8080&threads=10"`

### Stop() As Boolean

Detiene el servidor multimedia. Este método indica a todos los subprocesos que se detengan, pero no espera a que esto ocurra antes de destruir la instancia del servidor.

### Terminate() As Boolean

Detiene el servidor multimedia. Este método espera a que todos los subprocesos se detengan antes de destruir la instancia del servidor.

## ifUserData

### SetUserData(user\_data As Object)

Establece los datos de usuario que se devolverán cuando se generen eventos.

### GetUserData() As Object

Devuelve los datos de usuario que se han establecido previamente mediante `SetUserData()`. Devolverá `Inválido` si no se han establecido datos.

## ifMessagePort

### SetPort(port As roMessagePort)

Publica mensajes en el puerto de mensajes adjunto.

## ifIdentity

### GetIdentity() As Integer

:::hint{type="info"}
La interfaz *ifIdentity* ha quedado obsoleta. Recomendamos usar la interfaz *ifUserData* en su lugar.
:::

