Open source · MIT · Windows 10/11 Código abierto · MIT · Windows 10/11

Many players.
One Windows PC.
Varios jugadores.
Un solo PC con Windows.

OpenStreamMS is a Windows service that runs several independent Sunshine game-streaming sessions at once — each one inside its own isolated RDP session, with its own user, desktop, audio and Moonlight clients. Plug in extra monitors, keyboards, mice and gamepads and the same sessions become local seats: several people playing on one PC, in the same room. All managed from one dashboard, in its own window, in the browser or on your phone. OpenStreamMS es un servicio de Windows que ejecuta varias sesiones de streaming de juegos con Sunshine a la vez, cada una dentro de su propia sesión RDP aislada, con su usuario, escritorio, audio y clientes Moonlight. Conecta más monitores, teclados, ratones y mandos y esas mismas sesiones se convierten en puestos locales: varias personas jugando en un solo PC, en la misma habitación. Todo se gestiona desde un panel, en su propia ventana, en el navegador o en el móvil.

4K · 60 fpstuned RDP pipelinepipeline RDP optimizado
Nparallel sessionssesiones en paralelo
~2 mssession → seat monitorde la sesión al monitor del puesto
4UI languagesidiomas en el panel
What’s newNovedades

Since 1.3: easier to run, smoother to watchDesde la 1.3: más fácil de usar y más fluido

A redesigned dashboard, a display driver of its own for RDP sessions, a microphone per seat and Steam logins that survive deleting a session.Un panel rediseñado, un driver de pantalla propio para las sesiones RDP, un micrófono por puesto y logins de Steam que ya no se pierden al borrar una sesión.

A dashboard that guides youUn panel que te guía

A getting-started guide, start progress step by step, errors with View log and Retry, and a Connect button that shows the PC’s address and ports. One window creates and edits sessions; the rarely used options move to Advanced.Guía de primeros pasos, progreso del arranque paso a paso, errores con Ver log y Reintentar, y un botón Conectar que muestra la dirección y los puertos del PC. Una sola ventana crea y edita sesiones; lo que casi no se toca pasa a Avanzado.

Its own windowEn su propia ventana

The Start menu and desktop shortcuts open the dashboard in a window of its own, without tabs or address bar. Without WebView2 it opens in the browser, as before.Los accesos del menú Inicio y del escritorio abren el panel en una ventana propia, sin pestañas ni barra de direcciones. Sin WebView2 se abre en el navegador, como antes.

Themes and a phone layoutTemas y versión para móvil

System, Dark, Light, Synthwave, Retro and Matrix, all readable (WCAG AA). Effects are reduced automatically while someone is streaming or a seat is on, so the GPU stays with the encoder. On a phone, dialogs open as bottom sheets.Sistema, Oscuro, Claro, Synthwave, Retro y Matrix, todos legibles (WCAG AA). Los efectos se reducen solos mientras alguien juega por streaming o hay un puesto encendido, para dejar la GPU al encoder. En el móvil, las ventanas salen desde abajo.

Pairing from the trayEmparejar desde la bandeja

When Moonlight or a WebRTC TV asks for a PIN, Windows shows a notification; click it and the dashboard opens on that session’s pairing dialog. The tray menu now lists sessions and seats with their state and turns them on and off.Cuando Moonlight o una TV WebRTC piden un PIN, Windows muestra una notificación; al pulsarla se abre el panel en el emparejamiento de esa sesión. El menú de la bandeja muestra ahora sesiones y puestos con su estado y los enciende y apaga.

A microphone per seatUn micrófono por puesto

Each seat can have its own microphone, which shows up in its session as “Remote Audio”. Test shows its level before you save. No drivers of our own.Cada puesto puede tener su micrófono, que aparece en su sesión como «Audio remoto». Probar muestra su nivel antes de guardar. Sin drivers propios.

Who is connectedQuién está conectado

Session cards show how many Moonlight clients and WebRTC TVs are watching right now.Las tarjetas de las sesiones muestran cuántos clientes de Moonlight y TV WebRTC están viéndola en ese momento.

RemoteIdd (experimental)RemoteIdd (experimental)

A display driver of our own for RDP sessions: Sunshine takes each frame straight from a shared GPU texture, with no screen capture in between. Optional in the installer; it uses a test certificate.Un driver de pantalla propio para las sesiones RDP: Sunshine recoge cada fotograma directamente de una textura compartida en la GPU, sin capturar la pantalla. Opcional en el instalador; usa un certificado de prueba.

A true 60 fps60 fps de verdad

Windows only composes RDP sessions at whole-millisecond intervals, so 60 fps became 58.8 and the TV repeated a frame almost every second. Sessions now compose faster and Sunshine paces the stream.Windows solo compone las sesiones RDP a intervalos de milisegundos enteros, así que 60 fps se quedaban en 58,8 y la TV repetía un fotograma casi cada segundo. Ahora la sesión se compone más rápido y Sunshine marca el ritmo del stream.

Steam stays signed inSteam sigue con la sesión iniciada

Deleting an isolated session can now keep its Windows user, so Steam’s saved login, saves and game settings survive and a new session can reuse it. Cards warn when Steam has no saved login, and leftover users and profiles can be cleaned up from the dashboard.Al borrar una sesión aislada se puede conservar su usuario de Windows, así que el login guardado de Steam, las partidas y los ajustes siguen ahí y una sesión nueva puede reutilizarlo. Las tarjetas avisan si Steam no tiene la sesión guardada, y los usuarios y perfiles que sobran se limpian desde el panel.

How it worksCómo funciona

A dedicated streaming host per sessionUn host de streaming dedicado por sesión

The service (running as SYSTEM) opens a loopback RDP session for each stream, launches a private Sunshine instance inside it on its own ports, and keeps everything alive. Your local desktop is never touched. El servicio (que corre como SYSTEM) abre una sesión RDP local por cada stream, lanza dentro una instancia privada de Sunshine con sus propios puertos y lo mantiene todo en marcha. Tu escritorio local no se toca.

Moonlight · TV

Living-room clientCliente del salón

Moonlight · Laptop

Second playerSegundo jugador

BrowserNavegador

Dashboard & REST APIPanel y API REST

Your Windows PCTu PC con Windows

OpenStreamMS service

Web dashboard · REST API · session monitor · Sunshine proxyPanel web · API REST · monitor de sesiones · proxy a Sunshine

Session 1Sesión 1
RDP loopback
Sunshine :47989
userusuario osms-a1…
Session 2Sesión 2
RDP loopback
Sunshine :48089
userusuario osms-b2…
Local desktopEscritorio local
Console session
untouched
Sesión de consola
intacta
Local seatsPuestos locales

One PC, several people at the deskUn PC, varias personas delante

A seat is a set of physical devices — a monitor, a keyboard, a mouse, a gamepad and an audio output — linked to a session. The session shows on that monitor and only those devices control it, as if it were a separate computer. No extra hardware and no third-party drivers for keyboard and mouse: just Windows. Un puesto es un conjunto de dispositivos físicos (un monitor, un teclado, un ratón, un mando y una salida de audio) unido a una sesión. La sesión se ve en ese monitor y solo esos dispositivos la controlan, como si fuera otro ordenador. Sin hardware extra ni drivers de terceros para teclado y ratón: solo Windows.

Seat “Desk”Puesto «Escritorio»

2nd monitor · USB keyboard & mouse · headphones2.º monitor · teclado y ratón USB · auriculares

Seat “Kids”Puesto «Peques»

TV over HDMI · gamepad · TV speakersTV por HDMI · mando · altavoces de la TV

ConsoleConsola

Main monitor · the PC’s own desktopMonitor principal · el escritorio del propio PC

Same Windows PC, same GPUEl mismo PC con Windows y la misma GPU

Seat managerGestor de puestos

Turns the monitor on · fits the session to its resolution · routes input, image and soundEnciende el monitor · ajusta la sesión a su resolución · lleva entrada, imagen y sonido

Session “Desk”Sesión «Escritorio»
own Windows user
Moonlight paused
usuario de Windows propio
Moonlight en pausa
Session “Kids”Sesión «Peques»
ephemeral user
clean on every start
usuario efímero
limpio en cada arranque
Console sessionSesión de consola
host only
sees no seat device
solo anfitriona
no ve los dispositivos de los puestos
What each seat getsQué tiene cada puesto

Its own monitorSu propio monitor

The seat’s monitor joins the desktop only while the seat is on. The session is captured inside its own RDP session and shown full-screen in about 2 ms, uncompressed, at up to 125 Hz. Resolution and refresh rate can be set per seat, or follow the monitor: if its mode changes, the session reconnects to match.El monitor del puesto se añade al escritorio solo mientras el puesto está encendido. La sesión se captura dentro de su propia sesión RDP y se muestra a pantalla completa en unos 2 ms, sin compresión y hasta a 125 Hz. Resolución y frecuencia se fijan por puesto o siguen al monitor: si cambia de modo, la sesión se reconecta para ajustarse.

Split screenPantalla partida

Up to four seats can share one monitor: each takes the whole screen, a half or a quarter, with its own keyboard, mouse, gamepads and sound. The main monitor can be split too, leaving the console the other half.Hasta cuatro puestos pueden compartir un monitor: cada uno ocupa la pantalla entera, una mitad o un cuarto, con su teclado, ratón, mandos y sonido. El monitor principal también se puede partir y la consola se queda con la otra mitad.

Fully separate keyboard & mouseTeclado y ratón totalmente separados

While a seat is on, its USB keyboard and mouse switch to Microsoft’s own WinUSB driver and are read directly: the console never sees them and both mice move at the same time. They return to their normal driver when the seat turns off, even after a crash.Mientras el puesto está encendido, su teclado y su ratón USB pasan al driver WinUSB del propio Microsoft y se leen directamente: la consola no los ve y los dos ratones se mueven a la vez. Vuelven a su driver normal al apagar el puesto, incluso tras un fallo.

Gamepads by USB portMandos por puerto USB

Assign the USB port a gamepad is plugged into: while the seat is on, only that seat’s session sees it. Other sessions, the console and Moonlight players can’t grab it.Asigna el puerto USB donde está el mando: mientras el puesto está encendido, solo la sesión de ese puesto lo ve. Ni las demás sesiones, ni la consola, ni los jugadores de Moonlight pueden quedárselo.

Its own soundSu propio sonido

The session’s audio plays on the seat’s output (headphones, speakers, the TV over HDMI) with about 70 ms of delay and a jitter buffer that prevents pops.El audio de la sesión sale por la salida del puesto (auriculares, altavoces, la TV por HDMI) con unos 70 ms de retraso y un búfer que evita los chasquidos.

Its own microphoneSu propio micrófono

Pick a microphone for the seat and its session gets it as “Remote Audio”, through RDP microphone redirection. Each microphone belongs to one seat only.Elige un micrófono para el puesto y su sesión lo recibe como «Audio remoto», por la redirección de micrófono de RDP. Cada micrófono es de un solo puesto.

Identify every deviceIdentifica cada dispositivo

While editing a seat, Test shows the OpenStreamMS logo on a monitor or plays a chime on an audio output, shows a microphone’s level, and the name of the keyboard, mouse or gamepad you press lights up in the list. No more guessing which “USB Input Device” is which.Al editar un puesto, Probar muestra el logo de OpenStreamMS en el monitor o hace sonar un aviso por la salida de audio, enseña el nivel de un micrófono, y el nombre del teclado, ratón o mando que pulsas se ilumina en la lista. Se acabó adivinar cuál es cada «Dispositivo de entrada USB».

On from the dashboard or at bootDesde el panel o al arrancar

Turn seats on and off from their card or the tray menu, or let them start with the PC. Pressing Disconnect on a seat turns it off until it is started again, and the session is right back on Moonlight.Enciende y apaga los puestos desde su tarjeta o el menú de la bandeja, o deja que arranquen con el PC. Pulsar Desconectar en un puesto lo apaga hasta que se vuelva a encender, y la sesión vuelve enseguida a Moonlight.

Safe to shareSeguro para compartir

Password at the seatContraseña en el puesto

An exclusive seat whose session uses a regular Windows account starts on the lock screen, so whoever sits there must type that account’s password. Isolated and ephemeral users go straight in.Un puesto exclusivo cuya sesión usa una cuenta normal de Windows arranca en la pantalla de bloqueo, así que quien se siente ahí tiene que escribir la contraseña de esa cuenta. Los usuarios aislados y efímeros entran directamente.

Only the console powers off the PCSolo la consola apaga el PC

Exclusive seats can’t shut down or restart the computer, neither from the Start menu nor with shutdown. Remote sessions and shared seats keep that right.Los puestos exclusivos no pueden apagar ni reiniciar el equipo, ni desde el menú Inicio ni con shutdown. Las sesiones remotas y los puestos compartidos lo conservan.

Seats never go darkLos puestos no se quedan a oscuras

Seat monitors belong to the console’s desktop, so locking it (Win+L) would hide them all. While a seat is on, the console can’t be locked.Los monitores de los puestos son del escritorio de la consola, así que bloquearla (Win+L) los taparía todos. Mientras haya un puesto encendido, la consola no se puede bloquear.

Exclusive or sharedExclusivo o compartido

An exclusive seat pauses Moonlight and WebRTC for its session while it is on, so nobody can stream into it. A shared seat keeps streaming on: the same desktop at the desk and on the TV.Un puesto exclusivo pausa Moonlight y WebRTC para su sesión mientras está encendido, así que nadie puede entrar por streaming. Uno compartido mantiene el streaming: el mismo escritorio en la mesa y en la TV.

Steam per seatSteam por puesto

Each seat or session runs its own Steam alongside yours, even with the same Windows user. With an isolated user it signs in to its own Steam account, and keeping that user when the session is deleted keeps the login.Cada puesto o sesión abre su propio Steam a la vez que el tuyo, incluso con el mismo usuario de Windows. Con un usuario aislado inicia su propia cuenta de Steam, y conservar ese usuario al borrar la sesión conserva el login.

Your account stays yoursTu cuenta sigue siendo tuya

A seat can use the console’s own Windows account without a password, but then it never starts by itself at boot: it only turns on when you start it.Un puesto puede usar la propia cuenta de Windows de la consola sin contraseña, pero entonces nunca arranca solo al encender el PC: solo se enciende cuando lo enciendes tú.

FeaturesCaracterísticas

Everything a multi-seat streaming box needsTodo lo que necesita un PC de streaming multipuesto

From session isolation to hardware encoding checks, OpenStreamMS automates the fiddly parts of running Sunshine headless.Desde el aislamiento de sesiones hasta la comprobación del encoder por hardware, OpenStreamMS automatiza lo más engorroso de usar Sunshine sin pantalla.

Sessions & isolationSesiones y aislamiento

Multiple isolated sessionsVarias sesiones aisladas

Each stream gets its own RDP session and its own Sunshine instance, with separate ports, config, logs and paired devices.Cada stream tiene su propia sesión RDP y su propia instancia de Sunshine, con puertos, configuración, logs y dispositivos emparejados independientes.

Isolated usersUsuarios aislados

Optionally runs a session under an auto-managed local user (osms-…): its own profile, HKCU, desktop and audio, shown on the session card. Steam or Chrome can run twice without lock conflicts. No drivers, no third-party tools.Opcionalmente ejecuta la sesión con un usuario local gestionado automáticamente (osms-…): perfil, HKCU, escritorio y audio propios, y su nombre se ve en la tarjeta. Steam o Chrome pueden abrirse dos veces sin conflictos de bloqueo. Sin drivers ni herramientas externas.

Ephemeral modeModo efímero

Isolated users can be ephemeral: the profile and its registry hive are wiped when the session stops, so every start is a clean slate.Los usuarios aislados pueden ser efímeros: el perfil y su registro se borran al parar la sesión, así que cada arranque empieza de cero.

Independent stream profilePerfil de stream independiente

Same Windows user, separate profile root: USERPROFILE, APPDATA, LOCALAPPDATA, temp and XDG paths are redirected for Explorer, Sunshine and every app launched from Moonlight.Mismo usuario de Windows con una raíz de perfil aparte: USERPROFILE, APPDATA, LOCALAPPDATA, temporales y rutas XDG se redirigen para Explorer, Sunshine y cada app lanzada desde Moonlight.

Keep the user, keep the loginsConserva el usuario y sus logins

Deleting an isolated session asks whether to keep its user. A kept user can be reused by a new session with its Steam login, saves and settings; System → Dedicated users without a session lists kept users and leftover profiles with their size, to delete them one by one.Al borrar una sesión aislada se pregunta si conservar su usuario. Una sesión nueva puede reutilizarlo con su login de Steam, partidas y ajustes; Sistema → Usuarios dedicados sin sesión lista los usuarios conservados y los perfiles sueltos con su tamaño, para borrarlos uno a uno.

Silent host, full stream audioHost en silencio, audio completo en el stream

The RDP client’s audio is muted on the host through WASAPI, while Sunshine still captures it for Moonlight. No game sound leaking into the room.El audio del cliente RDP se silencia en el host mediante WASAPI, mientras Sunshine lo sigue capturando para Moonlight. El sonido del juego no se oye en la habitación.

Streaming performanceRendimiento del streaming

4K60 RDP tuningRDP optimizado para 4K60

Applies frame-rate, GPU-capture and display-refresh policies before each session so the remote desktop composes at the full target rate. When the frame interval isn’t a whole number of milliseconds (60 fps), the session composes faster and Sunshine paces the stream, so 60 really means 60. Resolution, fps and colour depth are set per session.Aplica políticas de fps, captura por GPU y frecuencia de pantalla antes de cada sesión para que el escritorio remoto se componga a la tasa completa. Si el intervalo entre fotogramas no es un número entero de milisegundos (60 fps), la sesión se compone más rápido y Sunshine marca el ritmo, así que 60 son 60. Resolución, fps y profundidad de color se configuran por sesión.

Hardware encoder guardControl del encoder por hardware

After launch it reads Sunshine’s encoder probe (NVENC, AMF, Quick Sync). If Sunshine fell back to software encoding, it relaunches once to recover the GPU encoder.Tras el arranque lee la detección de encoders de Sunshine (NVENC, AMF, Quick Sync). Si Sunshine ha caído a codificación por software, lo relanza una vez para recuperar el encoder de la GPU.

mstsc or FreeRDPmstsc o FreeRDP

Uses the Windows RDP client with H.264 hardware decoding when available, or the bundled FreeRDP client in headless mode — selectable in the config.Usa el cliente RDP de Windows con decodificación H.264 por hardware si está disponible, o el cliente FreeRDP incluido en modo oculto; se elige en la configuración.

Virtual gamepadsMandos virtuales

Installs and manages the ViGEmBus driver from the dashboard so Moonlight controllers appear as native Xbox/DualShock pads inside each session.Instala y gestiona el driver ViGEmBus desde el panel para que los mandos de Moonlight aparezcan como mandos Xbox/DualShock nativos en cada sesión.

Virtual display supportSoporte de pantalla virtual

Optional VDD mode keeps a virtual display alive for Sunshine even when the RDP client disconnects. Capture method, encoder and output display are configurable per session.El modo VDD opcional mantiene una pantalla virtual activa para Sunshine aunque se desconecte el cliente RDP. Método de captura, encoder y pantalla de salida se configuran por sesión.

Auto-recoveryRecuperación automática

A 5-second monitor restarts Sunshine if it crashes (reading the cause from the Windows event log) and relaunches every enabled session when the service or PC starts.Un monitor cada 5 segundos reinicia Sunshine si falla (leyendo la causa en el registro de eventos de Windows) y relanza todas las sesiones habilitadas cuando arranca el servicio o el PC.

Moonlight, WebRTC or bothMoonlight, WebRTC o los dos

With the bundled sunshine-webrtc build, each session serves Moonlight apps, Samsung TVs running Moonlight WebRTC, or both. Change it in the session’s settings; only the ports of the active protocols are opened. TVs get zero playout delay.Con la versión sunshine-webrtc incluida, cada sesión sirve a las apps de Moonlight, a las TV Samsung con Moonlight WebRTC o a ambas. Se cambia en los ajustes de la sesión y solo se abren los puertos de los protocolos activos. Las TV reciben la imagen sin retardo de reproducción.

RemoteIdd display (experimental)Pantalla RemoteIdd (experimental)

An IddCx display driver of our own for RDP sessions, built only on documented Windows APIs. Each frame reaches Sunshine through a shared GPU texture; in the hand-off test, from present to pixel takes under 1 ms (p99) even at 4K 240 Hz. Used automatically when installed.Un driver de pantalla IddCx propio para las sesiones RDP, hecho solo con API documentadas de Windows. Cada fotograma llega a Sunshine por una textura compartida en la GPU; en la prueba de entrega, del present al píxel tarda menos de 1 ms (p99) incluso a 4K y 240 Hz. Se usa automáticamente si está instalado.

Pairing notificationsAvisos de emparejamiento

The tray icon notices when a Moonlight client or a WebRTC TV is waiting for a PIN in any session and shows a Windows notification that opens the right pairing dialog.El icono de la bandeja detecta cuando un cliente Moonlight o una TV WebRTC espera un PIN en cualquier sesión y muestra una notificación de Windows que abre el emparejamiento correcto.

ManagementGestión

DashboardPanel

Create, start, stop, restart and delete sessions, edit their settings and follow live logs — in its own window on the PC, or from any browser or phone. Six themes, English, Spanish, French and Portuguese.Crea, inicia, detiene, reinicia y borra sesiones, edita su configuración y sigue los logs en directo, en su propia ventana en el PC o desde cualquier navegador o móvil. Seis temas, en inglés, español, francés y portugués.

Moonlight pairingEmparejamiento con Moonlight

Enter the Moonlight PIN in the dashboard, list paired clients and unpair them. Pairings survive restarts and Sunshine updates.Introduce el PIN de Moonlight en el panel, consulta los clientes emparejados y desemparéjalos. Los emparejamientos se conservan tras reinicios y actualizaciones de Sunshine.

Sunshine stays privateSunshine queda privado

Each Sunshine admin panel is reached only through an authenticated reverse proxy with per-session internal credentials (optionally rotated on start). It is never exposed to the network.Al panel de administración de cada Sunshine solo se llega a través de un proxy inverso autenticado con credenciales internas por sesión (opcionalmente rotadas en cada arranque). Nunca se expone a la red.

Remote power controlsControl de energía remoto

Shut down, restart or cancel a pending shutdown of the host PC straight from the dashboard — handy from the couch.Apaga, reinicia o cancela un apagado pendiente del PC directamente desde el panel, muy práctico desde el sofá.

Concurrent RDP helpersAyudas para RDP concurrente

Native Remote Desktop is enabled automatically. For several simultaneous sessions on client editions of Windows, Home included, OpenStreamMS installs TermWrap and puts it back at every start if Windows or another tool changes it.Escritorio Remoto nativo se habilita automáticamente. Para varias sesiones simultáneas en ediciones cliente de Windows, Home incluido, OpenStreamMS instala TermWrap y lo vuelve a poner en cada arranque si Windows u otra herramienta lo cambia.

Your Sunshine settings are keptSe respetan tus ajustes de Sunshine

Only the keys OpenStreamMS needs (ports, paths, certificates) are managed. Anything you change in Sunshine’s own panel is preserved across restarts and upgrades.Solo se gestionan las claves que necesita OpenStreamMS (puertos, rutas, certificados). Lo que cambies en el panel de Sunshine se conserva entre reinicios y actualizaciones.

AutomationAutomatización

REST API, tray icon and CLIAPI REST, icono de bandeja y CLI

Everything the dashboard does is available over a documented REST API, with interactive OpenAPI docs at /scalar/v1.Todo lo que hace el panel está disponible en una API REST documentada, con documentación OpenAPI interactiva en /scalar/v1.

MethodMétodoPathRutaActionAcción
GET/api/sessionsList sessionsListar sesiones
POST/api/sessionsCreate sessionCrear sesión
POST/{id}/start · stop · restartLifecycleCiclo de vida
PATCH/{id}/config · enabledSettings, auto-startAjustes, autoarranque
POST/{id}/pairPair Moonlight PINEmparejar PIN de Moonlight
GET/{id}/clientsPaired clientsClientes emparejados
GET/{id}/logsSession logsLogs de la sesión
PUT/{id}/protocolMoonlight, WebRTC or bothMoonlight, WebRTC o ambos
GET/api/sessions/pairingsPINs waiting in any sessionPIN pendientes en cualquier sesión
DELETE/{id}?keepUser=trueDelete session (optionally keep its user)Borrar sesión (opcionalmente conservando su usuario)
GET/api/sessions/isolated-usersKept users and leftover profilesUsuarios conservados y perfiles sueltos
PUT/api/settings/loggingGlobal log levelNivel de log global
GET/api/system/networkPC name and LAN addressesNombre del PC y direcciones de la red local
POST/api/power/shutdown · restartHost powerEnergía del host
GET/api/seats · /inventorySeats, free monitors and devicesPuestos, monitores y dispositivos libres
POST/api/seats/{id}/start · stopTurn a seat on or offEncender o apagar un puesto
POST/api/seats/identify/monitor · audioTest a monitor or outputProbar un monitor o una salida
GET/api/seats/identify/micMicrophone levelNivel de un micrófono
# Service & tools
OpenStreamMS.exe --install     # register the Windows service
OpenStreamMS.exe --uninstall   # stop and remove it
OpenStreamMS.exe --open        # dashboard in its own window
OpenStreamMS.exe --tray        # notification-area icon
OpenStreamMS.exe --run         # run (called by the SCM)

# Create and start a session
curl -u admin:*** -X POST http://localhost:5000/api/sessions \
  -H "Content-Type: application/json" \
  -d '{"name":"Living room","username":"player1",
       "password":"***","rdpWidth":3840,
       "rdpHeight":2160,"rdpFrameRate":60}'
  • Tray icon: double-click opens the dashboard; right-click lists sessions and seats with their state and turns them on or off; notifies pending Moonlight and TV pairings.Icono de bandeja: doble clic abre el panel; clic derecho muestra sesiones y puestos con su estado y los enciende o apaga; avisa de los emparejamientos pendientes de Moonlight y de las TV.
  • Cookie and HTTP Basic authentication with HMAC-signed tokens.Autenticación por cookie y HTTP Basic con tokens firmados con HMAC.
  • Global and per-session logs with size-based rotation, and one log level for everything (Info, Warning, Error or Off).Logs globales y por sesión con rotación por tamaño, y un solo nivel de log para todo (Info, Warning, Error u Off).
Get startedEmpezar

Up and running in minutesFuncionando en minutos

Run the installerEjecuta el instalador

Download OpenStreamMS-Setup.exe from Releases and run it as administrator. Sunshine and FreeRDP are bundled. The RemoteIdd display driver is an optional checkbox (experimental; it takes effect after restarting the PC).Descarga OpenStreamMS-Setup.exe desde Releases y ejecútalo como administrador. Incluye Sunshine y FreeRDP. El driver de pantalla RemoteIdd es una casilla opcional (experimental; se activa al reiniciar el PC).

Create your admin accountCrea tu cuenta de administrador

Open OpenStreamMS from the Start menu (or http://localhost:5000 in a browser). The first visit asks for dashboard credentials, then a guide walks you through the rest.Abre OpenStreamMS desde el menú Inicio (o http://localhost:5000 en el navegador). La primera visita pide las credenciales del panel y después una guía te lleva por el resto.

Add a sessionAñade una sesión

Choose the Windows user (or an isolated one), resolution and frame rate, then press Start.Elige el usuario de Windows (o uno aislado), la resolución y los fps, y pulsa Iniciar.

Pair Moonlight and playEmpareja Moonlight y juega

Connect on the session card shows the address to add in Moonlight; when it asks for a PIN, a notification opens the pairing dialog. Type it and start streaming.Conectar en la tarjeta de la sesión muestra la dirección que hay que añadir en Moonlight; cuando pida un PIN, una notificación abre el emparejamiento. Escríbelo y empieza a jugar.

Or set up a local seatO monta un puesto local

In the Seats tab, pick a monitor (or part of one), an audio output, a microphone and the USB devices (Test tells them apart), assign the session and turn it on.En la pestaña Puestos, elige un monitor (o una parte), una salida de audio, un micrófono y los dispositivos USB (Probar te dice cuál es cuál), asigna la sesión y enciéndelo.

RequirementsRequisitos

  • Windows 10 / 11 x64
  • A GPU with a hardware video encoder (NVIDIA NVENC, AMD AMF or Intel Quick Sync)Una GPU con encoder de vídeo por hardware (NVIDIA NVENC, AMD AMF o Intel Quick Sync)
  • Administrator rights to install the servicePermisos de administrador para instalar el servicio
  • Moonlight on each client deviceMoonlight en cada dispositivo cliente
  • TermWrap, installed automatically, for more than one simultaneous session on Windows Home/ProTermWrap, que se instala solo, para más de una sesión simultánea en Windows Home/Pro
  • For local seats: a monitor (or part of one) per seat on the same GPU, plus USB keyboards, mice or gamepadsPara puestos locales: un monitor (o parte de uno) por puesto en la misma GPU, y teclados, ratones o mandos USB
  • Optional: WebView2 (included in Windows 11) to open the dashboard in its own window; without it, it opens in the browserOpcional: WebView2 (viene con Windows 11) para abrir el panel en su propia ventana; sin él se abre en el navegador

Build from sourceCompilar desde el código

git clone https://github.com/mlopezsegura/OpenStreamMS
cd OpenStreamMS
dotnet publish -c Release -r win-x64 --self-contained -o publish
publish\OpenStreamMS.exe --install