Vū Studio Player (Desktop)
The Vū Studio Player is a desktop application that turns a Windows, macOS or Linux computer into a Vū Studio player. It signs in with your Vū Studio account, appears in Vū Studio alongside your other players, and plays the content you cast to it. Media it has already loaded is cached on disk, so content it has played before keeps playing if the network drops.
This release brings all three platforms to the same footing: the Windows build now ships as a proper installer, and every platform updates itself.
The download page shows a Beta build notice: the Vū Studio Player is still in active development, so expect rough edges.
Downloading the App
The Vū Studio Player has its own download page:
one.vu.studio/vu-studio-player/releases
To get there from inside Vū Studio:
- Click the Vū Studio icon to go Home.
- Click your avatar in the top-right to open the profile menu, then click Account.
- Under Plan & Resources, find Media Server Licenses and click Download Vū Media Server. This opens the Vū Media Server download page.
- Click the banner at the top: "Looking for the next gen Vū Studio Player beta for Windows, Mac, and Linux?"
On the download page, click Download on the release you want, then choose your operating system from Select Your Operating System:
| Button | Platform | What you get |
|---|---|---|
| Windows | Windows | An installer (.exe) |
| Mac OS | macOS | A disk image (.dmg) |
| Linux | Linux | An AppImage (.AppImage) |
The newest release is shown at the top of the page with its release notes; older builds are listed under Previous Releases, each with its own Download button.
The same page also carries a link back to the current Vū Media Server for Windows, if that is what you were looking for.
Installing on Windows
The Windows build is now a proper installer (NSIS), not the portable single-file executable it used to be. The portable build ran from a temporary folder and never actually installed itself, which is why a restart could leave you with no way back into the app.
With the installer:
- The app is installed for the current user, so there is no administrator prompt during installation — and, just as importantly, no administrator prompt in front of each automatic update. An unattended display can never answer one.
- You get a Start Menu entry for the Vū Studio Player.
- The shortcut survives a restart and the app stays registered with Windows, so it is still there — and still updatable — after the machine reboots.
Run the downloaded .exe and follow the prompts, then launch Vū Studio Player from the Start
Menu.
The Windows build is now code-signed with Vū's EV code-signing certificate, so the installer
shows Vu Technologies Corp as its publisher instead of "Unknown publisher". Windows SmartScreen
builds its trust in a new release gradually, so it may still show a warning on a fresh install for a
while after a release. If it does, choose to continue only if you downloaded the installer from
one.vu.studio/vu-studio-player/releases.
Installing on macOS
Download the .dmg, open it, and drag Vū Studio Player into your Applications folder, then
launch it from there. The macOS build is signed and notarized, so it opens without a Gatekeeper
override.
Installing on Linux
Download the .AppImage, mark it executable, and run it. The AppImage is distribution-agnostic, so
it does not need a package manager. Like the Windows build, it is not code-signed.
Automatic Updates
The desktop player updates itself on all three platforms — Windows, macOS and Linux. You do not need to return to the download page for each new build.
How it behaves:
- The app checks for an update at launch and then every 6 hours while it runs, and downloads a new version quietly in the background.
- A downloaded update is never installed in the middle of content. It installs when someone approves it (see Checking for and Installing Updates), when the app quits and relaunches, or on its own after a waiting period — see Unattended Updates.
- If a check or a download does not succeed, the app keeps running the version you already have and tries again at the next check.
Checking for and Installing Updates
When a new version has downloaded, the player tells you in several places (X.Y.Z below stands for
the new version number):
- On the display itself — while nothing is being cast, the welcome (splash) screen shows Update vX.Y.Z ready. Approve it from the Remote or the dashboard. This is only a notice; there is nothing to click on the display.
- In the Remote — a banner reads Update X.Y.Z is ready to install, with Review.
- On the Display Dashboard — at one.vu.studio/library/dashboard (Home → Display Dashboard in the left sidebar), the player's display node shows an Update X.Y.Z badge.
- On the Settings page — at one.vu.studio/settings (Home → Settings in the left sidebar), while you are connected to the desktop player the Actions row shows Update Player (vX.Y.Z).
To install the update:
- Click Review in the Remote banner, the Update X.Y.Z badge on the dashboard, or Update Player (vX.Y.Z) on the Settings page.
- The Update available (vX.Y.Z) dialog explains that the player restarts to install, so the display goes blank while it comes back up, and that nothing needs to be done at the display itself. If the player will not get something back after the restart, the dialog lists it under This player will not get these back:.
- Click Update Now to install, or Update Later to leave it pending. Choosing Update Later does not lose the offer — the dashboard badge and the Remote banner stay until the update is installed.
To check for an update yourself:
- From Vū Studio — connect to the desktop player, open one.vu.studio/settings, and click Check For Updates in the Actions row. The button reads Checking... while it works, then a message tells you either that the player is up to date (with its current version) or that an update was found and will be offered there once it has downloaded.
- At the machine — open Operator Options with F12, go to the System tab, and click Check for updates. The console reports either Up to date with the current version, or Update available with the new version number and a note that it installs the next time the player restarts.
If a player cannot install its own update, the notices say so — for example Update X.Y.Z needs a manual install in the Remote — and the dialog offers only Close. Download and install the new version from the releases page instead.
Unattended Updates
A display nobody is watching still updates itself. If a downloaded update has been waiting for 7 days without anyone approving it, the player installs it on its own — but only when both of these are true:
- the time on the player's machine is inside its update window (by default 03:00 to 05:00, in the machine's local time), and
- nothing is on screen.
If either is not true, the player waits and tries again, so a display that is casting through the whole window every night updates on the first night it is idle. To change the window, use Update window on the System tab of Operator Options.
Because an update also installs when the app quits and relaunches, restarting the app is another way to pick up a pending update on an unattended display.
Version and Environment on the Welcome Screen
The welcome (splash) screen shows a small version badge in the form v<version>-<letter> — for
example v0.1.7-S. The letter is the environment the build is pointed at:
| Suffix | Environment |
|---|---|
| P | Production |
| S | Staging (pre-release) |
| D | Development |
The badge appears only in the desktop app — the browser-based web player does not show it — and it is hidden entirely if either the version or the environment cannot be determined, so you never see a half-formed label. Quote the whole badge when you report an issue: it identifies both the build and the environment it is talking to.
The welcome screen also shows the player's name, its ID and the QR code used to connect to it. A player that has not been licensed yet shows Unlicensed Player in place of the name.
The Window Title
The application window is titled with your player's name, not a generic label — so several players open on one desk are told apart at a glance, and a screenshot says which player it came from. A player that has not been named yet falls back to Vū Studio Player.
Window Size and Position
The desktop player remembers how you left each of its windows, so you do not have to set a display up again after every restart:
- Windowed displays reopen at the size and position you last gave them. Drag or resize the window as usual; the player saves the new placement as you go and again when the app closes.
- Full screen or windowed — the player remembers which one each display was in, however you changed it (the Displays tab in Operator Options, F11, or the window's own controls).
- If the screen has changed — for example a new resolution, or a monitor that has been disconnected — a saved window is moved and, if necessary, shrunk so that it opens fully on the visible screen rather than partly or wholly off it.
- The first time a display is used, with nothing saved yet, it opens with the player's default size and position.
Connecting Your Player
Once the app is installed and running, connecting it to Vū Studio works the same way as any other player — by QR code, by ID or name, or from the dashboard.
See Connecting a Player → for the full walkthrough, and Displays & Players → for how players appear and are managed in Vū Studio.
Operator Options
The desktop app has a built-in operator console for the person standing in front of the machine. It is where you check whether the player is licensed and connected, name and arrange multiple displays, point the player at an NDI discovery server, and restart or quit the player.
To open it: press F12 on a keyboard attached to the machine running the Vū Studio Player desktop app. Press F12 again, or Esc, to close it. The first time a device runs, the console opens by itself on the Displays tab, so nobody has to discover the shortcut before setting up a multi-display machine.
The panel is titled Operator Options and has four tabs — Status, Displays, NDI and System. Move between them with the ← and → arrow keys, or with Home and End for the first and last tab.
Status
A read-only summary of the player, for reporting a problem accurately:
- Player name and Player ID — either shows a warning value if it has not been set or assigned.
- License — including Unlicensed — registration required when the player has not been registered yet.
- Conflict — flags when another player is using the same ID.
- Last connected user and the administrator's email address.
- Uptime, Player version, Shell, Chromium, Platform and Backend.
The tab is headed Player status and is split into two groups: Player (name, ID, license, conflict, last connected user and uptime) and Build and connection (version, shell, Chromium, platform, backend, and Network, which reads Online or Offline). On a licensed player the License row shows the email address of the account that owns the license. Click Copy all to put the whole tab on the clipboard as plain text, ready to paste into a support request.
A Release this player's license control is on this tab. Releasing the license frees the seat, and the panel warns you first that registering it again needs someone with dashboard access — so do not release a license on a machine you cannot re-register.
Before anything happens, a Release this player's license? confirmation spells out what releasing does: the license is returned to its owner, freeing a slot on their plan; the player's admin is cleared, so anyone can claim it next; and the player stops playing and returns to the unlicensed splash screen. Click Release license to go ahead, or Cancel.
Displays
A table of every display surface the machine reports, with a column each for Display, Primary, Mode, Window and Active, plus a details button on each row.
The player only uses screens you switch on. A newly detected display is inactive until you turn on Active for it, so plugging in a monitor does not immediately change what is on the wall.
You can work this tab entirely from the keyboard:
| Key | Action |
|---|---|
| ↑ ↓ | Select a display row |
| R | Rename the selected display |
| A | Activate or deactivate it |
| F | Make it fullscreen |
| M | Change its mode |
| P | Make it primary |
| X | Reset it |
Making an inactive display primary activates it first, so you do not have to do both steps yourself. Renaming a display sets a nickname; the name the operating system reported stays visible as the placeholder so you can tell the two apart. The details button opens a panel with the display's detected name, index, resolution, desktop position, mode, and whether it is the screen the console is currently on.
NDI
-
Discovered sources — the NDI sources the player can see, with a Refresh button. It reads No NDI sources discovered. when the network offers none.
-
Discovery server — the address of an NDI discovery server, entered as an IP address with an optional port, then saved with Save. Use this where NDI's automatic discovery does not reach across your network segments.
Switch the setting between Enabled and Disabled with the toggle beside it; the address field appears when it is enabled (for example
10.101.150.5or10.101.150.5:5959). The change takes effect after the player restarts, so use Save & Restart Player to save and apply it in one step, or Save to apply it at the next restart.
System
Grouped into three blocks:
Player
- Reload surfaces — re-reads the attached displays.
- Open data folder — opens the player's local data directory.
- Check for updates — triggers the same update check the app runs on its own, and reports whether the player is up to date or an update is available.
Update window
The hours in which this player may install a pending update on its own, in the machine's local time (see Unattended Updates). Set the From and to times and click Save; Reset returns to the default window. A window may cross midnight (for example 22:00 to 02:00), but the start and end must differ. Even inside the window, the player only installs while nothing is on screen, and an update can still be approved at any time from the Remote.
OSC output
The default target for the player's OSC output — see OSC Output.
Offline media cache
Shows the current cache size, with a Clear button. Clearing it frees disk space; media is downloaded again the next time it is needed.
Player log
Shows recent log output, with Refresh to reload it and Copy log to put it on the clipboard so you can paste it into a support request. See Sending Logs for the full support workflow.
Support
Send logs to support emails the player's current status and its log history to Vū support. The log history is kept in a file on the machine, so it includes what happened before the last restart, not only what is shown in the Player log block.
- Click Send logs to support.
- In Send logs to Vū support?, optionally describe the problem under What went wrong? (optional).
- Click Send. The console confirms Logs sent to support., or tells you why the logs could not be sent (for example, if the machine has no network connection).
Interrupts playback
The last block is separated and labelled because both of its actions stop whatever is on screen:
- Restart player
- Quit player
Both ask for confirmation before they run.
Operator Options is local to the machine — it needs physical access, or remote desktop access, to the computer running the desktop app. It cannot be opened from Vū Studio. This is a different console from the Operator Menu on the Vū Media Server, though both open with F12.
OSC Output
The desktop player can send OSC (Open Sound Control) messages over the network, so a Macro or a Canvas Designer OSC action reaches the same third-party receiver — show-control software, a lighting desk, or anything else that listens for OSC — whichever kind of player is behind the display. OSC output is on in installed builds.
Setting the default target
The player sends OSC to a default target unless the command that triggered it names its own. To set it at the machine:
- Press F12 to open Operator Options and go to the System tab.
- Under OSC output, enter one or more targets as
host:portpairs separated by commas — for example10.101.150.5:9000, or10.101.150.5:9000,10.101.150.6:9000to send to two receivers. - Click Save. The change takes effect immediately; there is no need to restart the player.
Leaving the target empty turns OSC output off.
What it sends
- OSC messages from Macros and from Canvas Designer OSC actions. A message that names its own target goes there; one that does not goes to the default target.
- One message per command. Unlike the Vū Media Server, the desktop player does not copy every command it receives out to OSC — only the explicit OSC commands are sent.
- A true/false value is sent as the text
TrueorFalse, matching the Vū Media Server, so a receiver set up for one works with the other.
Limitations
- An IPv6 address must be written in brackets, for example
[::1]:9000. - If one target in the list is not valid, it is skipped and the others still receive the message.
- Every message the player sends is written to the Player log on the System tab, which is the first place to look if a receiver does not respond.
Known Limitations
- Beta. The app is still in active development and its behavior may change between releases.
- Unsigned on Linux. The Linux build is not code-signed. The Windows build is code-signed (publisher Vu Technologies Corp), though SmartScreen may still warn on a fresh install for a while after a release; macOS builds are signed and notarized.
- An installed build launches full screen on start, matching how a dedicated display player behaves.