roMediaServer
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 . 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:
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
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:
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
La interfaz ifIdentity ha quedado obsoleta. Recomendamos usar la interfaz ifUserData en su lugar.