Skip to content

About

Tessel: media player for Samsung Tizen TVs. SMB shares, USB drives, network streams and subtitles, with an optional transcode server.

Topics

Resources

Stars

44 stars

Watchers

1 watching

Forks

Latest commit

 

History

312 Commits

Folders and files

Repository files navigation

Tessel

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.

Features

  • 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_Store a 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)

Install

  1. Developer Mode on the TV: Apps → press 1 2 3 4 5 → Developer Mode ON → enter your PC's IP → reboot.

  2. Easy: install Apps2Samsung, pick the Tizen Community channel and choose Tessel. It signs and sideloads for you.

  3. Manual: download tessel.wgt from 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).

Docs

Building

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.

Translations

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 app
  • transcode-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.

Support

If Tessel is useful to you, consider a coffee: ko-fi.com/M4M71JOT9R

Acknowledgments

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.

About

Tessel: media player for Samsung Tizen TVs. SMB shares, USB drives, network streams and subtitles, with an optional transcode server.

Topics

Resources

Stars

44 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages