Beam

July 26, 2026 · View on GitHub

GitHub release MIT License Tests GitHub stars Hacktoberfest

Beam is an open-source local media player for Samsung Tizen TVs. It browses and plays video, audio, images, and sidecar subtitles from USB storage and compatible media servers on the same local network.

The project has two parts:

  • Beam TV: a remote-friendly Tizen web application.
  • Beam Companion Server: an optional Electron application that shares folders from a Mac or Windows computer over the local network.

Beam has no accounts, cloud service, advertising, analytics, or DRM.

Try the browser preview · Download the latest release

Features

  • USB folder browsing with video, audio, image, and subtitle detection
  • Local-network media browsing through Beam Companion Server or compatible DLNA/UPnP servers
  • Direct local-file and HTTP media playback
  • Sidecar SRT-to-WebVTT conversion and native WebVTT support
  • Resume history stored locally on the TV
  • Samsung remote and media-key navigation
  • HTML picture-in-picture overlay
  • Read-only access to selected media

Remaining jobs

Beam v1.0.0 is usable, but there is meaningful work left for contributors. Please comment on an issue before starting so two people do not solve the same problem independently.

JobAreaDifficultyIssue
Run companion-server tests in GitHub ActionsToolingStarter#2
Test HTTP byte-range media streamingCompanion serverStarter#3
Correct ASS/SSA subtitle handlingTV appIntermediate#4
Design IPv6-capable local discoveryTV + companionAdvanced#5
Complete an accessibility and navigation auditTV appIntermediate#6
Add localization infrastructure and HindiTV appIntermediate#7

More work is tracked under help wanted and good first issue.

Project structure

.
├── config.xml               Tizen application manifest
├── index.html               Public product landing page
├── tv.html                  Tizen TV application entry point
├── css/                     TV user interface styles
├── icons/                   TV application icons
├── js/                      TV application source
└── beam-server/
    ├── main/                Electron process and local media server
    ├── renderer/            Companion desktop interface
    └── icons/               Desktop application icons

Requirements

TV application

  • Samsung Tizen Studio
  • Samsung TV certificate profile for installing on physical hardware
  • A Samsung Tizen TV with developer mode enabled, or the Tizen TV emulator

To enable developer mode on the TV: open the Apps screen, select any app that isn't installed, then enter 12345 on the remote and confirm. On newer remotes with a dedicated 123 button, press that first, then enter 1-2-3-4-5. Toggle Developer Mode on, enter your PC's IP address when prompted, and restart the TV.

The application manifest currently targets Tizen 6.0 or newer.

As an alternative to Tizen Studio, apps2samsung.com is a third-party, open-source (MIT) tool that sideloads apps onto Samsung TVs using the same official developer/certificate mechanism, without the full Tizen Studio install. It is not affiliated with Samsung or this project.

Companion server

  • Node.js 20 or newer
  • npm
  • macOS or Windows

Run the TV application in a browser

The browser preview uses mock Tizen APIs and sample data:

python3 -m http.server 8790

Open http://localhost:8790/tv.html.

The browser preview is useful for interface work, but USB, remote-control, and real Tizen platform behavior must be tested on a TV or emulator.

Build the Tizen package

Import the repository as an existing Tizen web project, select a valid Samsung TV certificate profile, and build the signed package in Tizen Studio.

From a configured Tizen CLI environment, the equivalent flow is:

tizen build-web
tizen package -t wgt -s YOUR_CERTIFICATE_PROFILE -- .

Do not commit generated .wgt files, build output, or signing artifacts.

Run the companion server

cd beam-server
npm ci
npm start

In the desktop application:

  1. Add one or more folders to share.
  2. Start the server.
  3. Put the computer and TV on the same trusted local network.
  4. Open Network Media Servers in Beam.
  5. Discover the server, or add its description URL manually.

The companion server exposes shared media to devices on the local network. Only share folders you are comfortable making accessible on that network.

Build the companion server

cd beam-server
npm ci
npm run dist:mac

For Windows, run npm run dist:win from a supported Windows build environment.

Supported media

Beam recognizes common containers and extensions, including MP4, MKV, AVI, MOV, WebM, MPEG-TS, WMV, MP3, FLAC, WAV, AAC, OGG, M4A, WMA, JPEG, PNG, GIF, WebP, BMP, SRT, and WebVTT.

Actual codec support depends on the Samsung TV model, firmware, and its native HTML media decoder. Recognition by Beam does not guarantee that every TV can decode every file.

Privacy

Beam processes USB, playback, and local-network information on the TV. Saved servers and resume history remain in local app storage. The project does not include analytics, advertising SDKs, or a developer-operated cloud backend.

See the English privacy policy or the Korean privacy policy.

Security

Beam Companion Server is designed for trusted home or office networks. It does not provide authentication or Internet-facing hardening. Do not expose its port directly to the public Internet.

Please report security issues according to SECURITY.md.

Contributing

Bug reports, design proposals, translations, testing, and pull requests are welcome. Beam is opted into Hacktoberfest and accepts meaningful contributions throughout the year. See CONTRIBUTING.md and the Code of Conduct before submitting a change.

License

Beam is available under the MIT License.