The problem: a TV with a browser but no Emby app
If you run Emby at home or for a few friends, you have probably hit the same wall: the TV in the living room is fine, but there is no Emby app for it. Older Samsung (Tizen) and LG (webOS) sets, Philips models and hotel TVs often ship with a browser and little else. Buying a streaming stick for every screen gets old fast.
MediaLab TV takes a different route. It is a web app you open once in the TV's browser, save as a favorite, and from then on the TV signs in by itself and opens a Netflix-style interface built for the remote. It carries your name, logo, colors and address, not ours. This guide walks through installing it on Emby Server, branding it, and getting it onto a TV.
Prerequisites
- Emby Server 4.10.1 or newer.
- A TV with a web browser. MediaLab TV is a web app opened in the TV browser, not an app from the TV's app store. What the TV can play depends on its browser; the server transcodes what the browser cannot play.
- A MediaLab Works account with an active subscription, a lifetime license within its update window, or the free 30-day trial, so you can download the plugin DLL.
- Optional: Quick Connect for "Sign in with your phone", Registration for new accounts, Cashier for payment by QR code, and Smart Skip for the skip buttons.
Step 1: Install the plugin
- Sign in to your MediaLab Works account, open Licenses and download the plugin DLL.
- Copy the DLL into the Emby plugins folder and restart Emby Server:
- Linux (package):
/var/lib/emby/plugins/ - Docker: the
pluginsfolder inside your Emby config volume - Windows:
%AppData%\Emby-Server\programdata\plugins\
- Linux (package):
- Open MediaLab TV in the Emby dashboard menu and click License. Paste your license key and activate it, or enter your e-mail to start the trial or buy a license. The plugin contacts the license server, binds the key to this server and shows the license as Active.
The license is checked once a day and at every Emby start. Without internet the plugin keeps working for 7 days after the last successful check; after that, TVs see a neutral "Service unavailable" screen until it can check again. Without a valid license, TVs see only that neutral screen, without your name or logo.
Step 2: Make it yours (branding)
Still in the MediaLab TV panel in the dashboard, set:
- App name — the title on the TV (default "MediaLab TV").
- Short name — shown in the server's device list and as the name of the app saved on the TV.
- Line under the name and footer line — optional, for example your website and how to reach support. An empty footer shows "Unofficial app, compatible with Emby servers" in the TV's language.
- Colors — accent (buttons, focus) and background, as
#rrggbb. The text color is chosen automatically so it stays readable. - Language — automatic (the TV browser's language), English or Romanian.
- Logo — PNG or SVG, at most 512 KB; a square image looks best. SVG files with scripts are refused.
Use the preview to check the result before you click Save. The Buttons section controls whether "Sign in with your phone" (shown when Quick Connect is installed and on) and "New account (from the phone)" (shown when Registration is installed and open for sign-ups) appear on the TV.
Step 3: Choose the address for TVs
The panel shows the addresses to open in the TV browser:
/emby/MediaLabTv/on your server address — always works.- Your own path, for example
/web/tv/index.html(the default path istv). Emby serves only files under/web/, so the address ends inindex.html.
Tick Put the redirect in place and restore it by itself after Emby updates and click Apply. The panel shows the state of the redirect. If Emby's web files belong to root (package installs on Linux), the plugin cannot write there: the panel then shows the exact command to run once on the server as administrator, and again after each Emby update.
Changing the path removes the plugin's old redirect page; a page that does not belong to the plugin is never touched.
Step 4: Set the sign-in options
- Sign in with your phone needs the Quick Connect plugin. On the Quick Connect page, set "After sign-in, the screen opens" to
/emby/MediaLabTv/, so the TV comes back to MediaLab TV after the phone approves. - New account (from the phone) needs Registration, open for sign-ups: the TV shows a QR code and waits; once the account is active, the TV signs in as the new user.
- Payment needs Cashier: after sign-up the TV shows the payment QR code, and signs in once the payment is done.
Without these plugins, the TV shows only the usual username and password sign-in. Under "After sign-in, open" you can also choose the MediaLab TV interface (the default) or Emby Web, so Emby Web stays one setting away.
Step 5: Open it on the TV
On each TV, open the address once in the browser and save it as the start page or a favorite. From then on the TV keeps the server's sign-in token, not the password; the token is checked at every start, and if it was revoked the TV shows the sign-in form. The setting "Remember the password on TVs" (off by default) keeps the password only for TVs that keep losing the token. A password saved by version 1.1 is used once, if needed, then deleted.
A TV mode is chosen by itself on Tizen, webOS, Android TV, Google TV and Philips TVs, or switched from the profile menu. It is sized for 720p, 1080p and 4K screens, with safe margins and a large focus. Arrows, OK, Back (with a question before leaving), the media, color, channel and number keys work, and so does the LG Magic Remote pointer.
What the interface and player give you
The interface has a rotating banner and rows for Continue Watching, Next Up, recently added movies and series, each library, My List, collections, genres and live TV (on now, movies tonight, sports, kids, coming up). Title pages show backdrop, ratings, cast, seasons and episodes, similar titles and the local trailer. There are grids for movies, series, genres and actors, search with an on-screen keyboard, and profiles ("Who's watching?").
The player handles audio tracks, subtitles, resume and next episode, plus Skip intro / recap / credits buttons driven by Emby's markers and Smart Skip. Playback is reported to Emby, so it shows in Continue Watching everywhere. A header button (where the browser allows it) and the F key switch to full screen; on a TV, or when opened from Quick Connect, the first OK / click switches to full screen.
Tips and troubleshooting
- The TV shows "Service unavailable": the license is not valid, or the server has not reached medialab.works for more than 7 days. Check the License page.
- The short address gives an error after an Emby update: run the command shown in the panel (package installs), or click Apply again.
- A video does not play in the TV browser: check the playback settings for that user in Emby (maximum streaming bitrate, transcoding allowed); the server transcodes what the browser cannot play.
- Updates: with a valid license, the License page can install an update or roll back to the previous version if an update causes trouble. Restart Emby after either.
- Privacy: the TV talks only to your Emby server — pages, images and data all come from it, and the page blocks anything from elsewhere (no web fonts, no CDN, no outside trailers). On the server, the plugin stores the branding settings, the logo and the redirect page under
/web/. - Testing status: the app has been tested in an emulated Philips TV browser; other TV brands are handled in the code but not yet tested on real TVs. Try it on one screen first.
Conclusion
MediaLab TV turns the browser already sitting in an old or hotel TV into a proper client for your Emby server: your branding, a remote-friendly interface, skip buttons and phone sign-in, all served from your own machine. Install the plugin, set the branding and address, open the link once on each TV, and the screens take care of themselves. For the full reference, see the user guide and the changelog; if something does not line up, the knowledge base, FAQ and contact page are there for you.