A media player for Samsung Tizen TVs. Network streams, USB drives, SMB shares and DLNA media servers, with a remote-friendly UI and hardware-accelerated playback through Samsung's AVPlay.
- Plays almost anything the TV can decode — H.264 / HEVC / VP9, AAC / MP3 / AC3 / EAC3, HLS / DASH / RTSP / RTMP
- USB, internal storage and SMB shares — browse and stream from a NAS, Windows or Samba, with as many servers as you like; pin a folder to Favorites and the next episode is one step from the home screen; the
._files and.DS_Storea Mac leaves behind stay out of the list (Settings → Show hidden files) - DLNA media servers — miniDLNA, Plex, Jellyfin, Serviio or a NAS's own server, found on the LAN without setting anything up
- WebDAV servers — Nextcloud, ownCloud, a Synology or QNAP's WebDAV server, or a cloud drive, at home or over the internet; Basic and Digest login, self-signed certificates on request
- One Servers tile for all of them — your SMB and WebDAV servers and the DLNA servers found on the LAN in one list; a single server opens straight away
- Music that plays on while you browse — title, artist, album and cover art from ID3, FLAC, Ogg/Opus and M4A tags, a mini-player, repeat one / all, CH± to skip
- Pictures, text and playlists too — a photo viewer with slideshow, a text viewer that reads Cyrillic and Western legacy encodings, and M3U / PLS lists (IPTV channels grouped by category) off a URL, USB or a share
- Cast a URL from your phone — scan a QR once, paste a link, it plays. No account, no app
- Limit network access — Settings → Network access: everything; only servers you set up (the default: no third-party services, so cast-from-phone and code pairing, which use ntfy.sh, ask first); or none, for a USB-only TV
- Subtitles that actually show — SRT / VTT / ASS / SAMI sidecars and embedded MP4 / MKV tracks, painted by the app with adjustable size, font, colour, weight, position and background, from Settings or the CC menu while a file plays
- Every embedded track selectable, even past the TV demuxer's 32-track limit
- Resume or start over — a half-watched file asks Continue or Start from the beginning; number keys jump by tenths. A USB folder opens on the file to continue with, shows how long each file is and how far it got, and dims what's been watched; ◄ clears the watched state of a file, or of a whole folder
- Transcode server for files the TV can't decode (DivX, DTS, TrueHD) and for real 5.1 to a soundbar — see transcode-server
- INFO shows what's playing — from the remote's INFO key or the INFO button in the player: codec, picture size and bitrate (where the stream declares one), HDR type with a warning for Dolby Vision (which Samsung TVs don't decode), audio and subtitle tracks
- Full remote support — D-pad, media keys, aspect ratio, speed, repeat, shuffle, recent history (clear it, or switch it off, in Settings), and a start screen of your choice (Settings → Start screen: straight into your share, Back goes Home)
-
Developer Mode on the TV: Apps → press
1 2 3 4 5→ Developer Mode ON → enter your PC's IP → reboot. -
Easy: install Apps2Samsung, pick the Tizen Community channel and choose Tessel. It signs and sideloads for you.
-
Manual: download
tessel.wgtfrom Releases, re-sign it with your own distributor certificate in Tizen Studio, then:sdb connect <tv-ip> sdb install tessel.wgt
Works on Tizen TVs from 2017 onward. SMB shares, DLNA and WebDAV servers need Tizen 4.0+ (2018 sets and later). Tested on a 2019 RU7020, a 2023 S90C and a 2024 QN90D (Tizen 9.0).
- Playback notes — files the TV can't decode, 5.1 that comes out as stereo, and what to do about it
- Transcode server — Docker or native binaries, pairing, surround, hardware acceleration
- Cast from another device — how the phone-to-TV link works and how to host your own page
- Files onto the USB stick from your PC —
scripts/tessel-remote: list the stick, push videos into a folder, no setup - Reading the app's log — DevTools via Apps2Samsung, SMB trail, remote log capture
- Why a web app and not native
bash tizen-app/build.sh # unsigned .wgt in dist/GitHub Actions builds and publishes a release on every merge to main, named after the version in tizen-app/config.xml. A pull request that changes anything under tizen-app/ therefore bumps that version too (new feature: minor, fix: patch); the version-check workflow blocks the merge until it does.
The app follows the TV's menu language, or whatever you pick under Settings → App language. The setup page follows your browser and has its own language menu. Every string lives in two flat JSON files per language:
tizen-app/i18n/<locale>.json: the TV apptranscode-server/internal/web/static/i18n/<locale>.json: the setup page
en.json is the source. A translation can leave keys out, and those show in English. Keep {0}, {1} … as they are; you can move them anywhere in the sentence. Fixes are welcome as a pull request, and editing the file on GitHub is enough.
If Tessel is useful to you, consider a coffee: ko-fi.com/M4M71JOT9R
Built on Samsung's AVPlay API.
Tessel was called VLC TV before version 1.7.0. It is an independent project, not affiliated with or endorsed by VideoLAN, and it doesn't use libVLC. VLC is a trademark of VideoLAN.
MIT licensed — see LICENSE.