Files
awesome-awesomeness/html/smarttv.md2.html
2025-07-18 23:13:11 +02:00

337 lines
16 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-smart-tv-awesome">Awesome Smart TV <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a></h1>
<blockquote>
<p>A curated list of awesome resources for building Smart TV apps</p>
</blockquote>
<p><a href="https://github.com/vitalets/awesome-smart-tv"><img align="right" width="150" src="https://user-images.githubusercontent.com/1473072/27913047-7c3a5e60-6267-11e7-8bd1-bef2bf3cd753.png"/></a></p>
<p><a href="https://en.wikipedia.org/wiki/Smart_TV">Smart TV</a> is a
growing platform of TVs having access to the internet and allowing to
browse web-sites and install applications. It has own ecosystem with
main players like Samsung, LG, Android TV and Apple TV. In this list you
will find official and third-party resources for developing Smart TV
apps and communicating with TV from remote devices.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#platforms">Platforms</a>
<ul>
<li><a href="#samsung-tizen">Samsung Tizen</a></li>
<li><a href="#lg-webos">LG webOS</a></li>
<li><a href="#android-tv">Android TV</a></li>
<li><a href="#apple-tvos">Apple tvOS</a></li>
<li><a href="#google-chromecast">Google Chromecast</a></li>
</ul></li>
<li><a href="#cross-platform-frameworks">Cross-platform
frameworks</a></li>
<li><a href="#remote-control-protocols">Remote control
protocols</a></li>
<li><a href="#navigation-libraries">Navigation libraries</a></li>
<li><a href="#testing">Testing</a></li>
<li><a href="#misc">Misc</a></li>
<li><a href="#community">Community</a></li>
</ul>
<h2 id="platforms">Platforms</h2>
<p>Below are the most popular platforms for Smart TV. The full list is
<a
href="https://en.wikipedia.org/wiki/List_of_smart_TV_platforms_and_middleware_software">here</a>.</p>
<h3 id="samsung-tizen">Samsung Tizen</h3>
<h4 id="official-resources">Official resources</h4>
<ul>
<li><a href="http://developer.samsung.com/tv">Samsung TV Developers
site</a> - News, documentation and SDK downloads.</li>
<li><a href="https://developer.tizen.org/tizen/tv">Tizen TV Developers
site</a> - Full API documentation and guides for developing Tizen TV
apps.</li>
<li><a
href="https://developer.tizen.org/development/tizen-studio/download">Tizen
Studio</a> - IDE for TV apps development including Tizen TV
Emulator.</li>
<li><a
href="http://developer.samsung.com/tv/develop/extension-libraries/smart-view-sdk/download/">Smart
View SDK</a> - Official Android, IOS and JavaScript SDK for
communication between remote device and Samsung Smart TV.</li>
<li><a href="http://developer.samsung.com/forum/?topCtgy=06">Samsung TV
Developers Forum</a> - Ask questions and share tips when developing apps
with Samsung SDKs.</li>
<li><a href="https://samsungtvbounty.com">Samsung Smart TV Bug
Bounty</a> - If you find bug in Samsung TV, submit it here and get a
reward $1000+.</li>
<li><a
href="https://marketplace.visualstudio.com/items?itemName=tizensdk.tizentv">vscode-extension-tizentv</a>
- A Visual Studio Code extension that provides a lightweight IDE for
Tizen application developers.</li>
<li><a href="https://github.com/Samsung/Wits">Wits</a> - A tool for
reloading tv apps JavaScript/CSS without reinstalling the app every
time you make a change.</li>
</ul>
<h4 id="third-party-remote-control-libraries">Third-party remote control
libraries</h4>
<ul>
<li><a href="https://github.com/Ape/samsungctl">samsungctl</a> - Library
and command line tool for remote controlling Samsung televisions via a
TCP/IP connection. It currently supports both pre-2016 TVs as well most
of the modern Tizen-OS TVs with Ethernet or Wi-Fi connectivity
(Python).</li>
<li><a
href="https://github.com/Badisi/samsung-tv-remote">samsung-tv-remote</a>
- Node.js module to remotely control Samsung Smart TV starting from 2016
(JavaScript).</li>
<li><a
href="https://github.com/kyleaa/homebridge-samsungtv2016">homebridge-samsungtv2016</a>
- A plugin for <a
href="https://github.com/nfarina/homebridge">Homebridge</a> that allows
you to control your 2016 Samsung TV with HomeKit and Siri
(JavaScript).</li>
<li><a
href="https://github.com/tavicu/homebridge-samsung-tizen">homebridge-samsung-tizen</a>
- A plugin for <a
href="https://github.com/nfarina/homebridge">Homebridge</a> that allows
you to control your Samsung Tizen TV with HomeKit and Siri
(JavaScript).</li>
<li><a
href="https://github.com/tdudek/samsung-remote-models-2014-and-newer">samsung-remote-models-2014-and-newer</a>
- Encrypted communication with the internal web service of Samsung TV
models 2014+.</li>
<li><a href="https://github.com/sectroyer/SmartCrypto">SmartCrypto</a> -
SmartView2 encrypted handshake API implementation in C/Python.</li>
<li><a
href="https://github.com/shantanugoel/samsung-messagebox">samsung-messagebox</a>
- Python script to show notifications on Samsung TVs.</li>
<li><a
href="https://github.com/Toxblh/samsung-tv-control">samsung-tv-control</a>
- Library for remote control Samsung TV in your Node.js</li>
</ul>
<h4 id="other">Other</h4>
<ul>
<li><a href="http://en.tab-tv.com/?page_id=7123">Identification of
Samsung TV models 2008-2017</a> - How to get screen size, matrix type,
year of development, series and other parameters from Samsung TV model
name.</li>
<li><a href="https://github.com/claromes/tizenstudio">Tizen Studio
development references</a> - Documents focused on web apps for Smart TVs
e Professional Monitors, based in personal researches.</li>
<li>[TizenBrew] (https://github.com/reisxd/TizenBrew) - A way to
experience modded websites and you can install newer apps without
fighting with Tizen Studio</li>
<li>[TizenTube] (https://github.com/reisxd/TizenTube) - A TizenBrew
module that enhances your favourite streaming websites viewing
experience by removing ads and adding support for Sponsorblock.</li>
</ul>
<h3 id="lg-webos">LG webOS</h3>
<h4 id="official-resources-1">Official resources</h4>
<ul>
<li><a href="http://webostv.developer.lge.com">webOS TV Developers
Site</a> - WebOS TV apps development principles, tutorials, API
documentation and packaging tools.</li>
<li><a
href="http://webostv.developer.lge.com/sdk/download/download-sdk/">webOS
TV IDE + SDK</a> - IDE for apps development including a Command Line
Interface and emulator.</li>
<li><a href="http://www.svlconnectsdk.com/">Connect SDK</a> - Open
source framework developed by LG that connects your mobile apps with
multiple media device platforms. Currently supports 8 platforms. But
seems <a
href="https://github.com/ConnectSDK/Connect-SDK-Android/issues/364">abandoned</a>.</li>
<li><a
href="http://developer.lge.com/community/forums/RetrieveForumList.dev?prodTypeCode=TV">webOS
TV Developers Forum</a> - Ask questions, share information and learn
about Smart TV app development with other developers.</li>
</ul>
<h4 id="third-party-remote-control-libraries-1">Third-party remote
control libraries</h4>
<ul>
<li><a href="https://github.com/hobbyquaker/lgtv2">lgtv2</a> - Node.js
module for remote control of LG webOS TV via WebSocket messages
(JavaScript).</li>
<li><a
href="https://github.com/hobbyquaker/node-red-contrib-lgtv">node-red-contrib-lgtv</a>
- Module for <a href="https://nodered.org">Node-RED</a> allowing remote
control of LG webOS Smart TVs (JavaScript).</li>
<li><a href="https://github.com/WeeJeWel/node-webos">node-webos</a> -
Node.js module to discover and control webOS TVs (JavaScript).</li>
<li><a href="https://github.com/hobbyquaker/lgtv2mqtt">lgtv2mqtt</a> -
Interface between LG WebOS Smart TVs and MQTT (JavaScript).</li>
<li><a
href="https://github.com/stevenvong/ares-webos-sdk">ares-webos-sdk</a> -
webOS <a
href="http://webostv.developer.lge.com/sdk/using-webos-tv-cli/">CLI</a>
as separate NPM module (JavaScript).</li>
<li><a href="https://github.com/TheRealLink/pylgtv">pylgtv</a> - Library
to control webOS based LG Tv devices (Python).</li>
<li><a
href="https://github.com/klattimer/LGWebOSRemote">LGWebOSRemote</a> -
Command line tool for webOS remote control of LG TVs (Python).</li>
<li><a
href="https://github.com/merdok/homebridge-webos-tv">homebridge-webos-tv</a>
- A plugin for <a
href="https://github.com/nfarina/homebridge">Homebridge</a> which allows
you to control your webOS TV.</li>
<li><a href="https://github.com/supersaiyanmode/PyWebOSTV">PyWebOSTV</a>
- A generic &amp; entensible WebOS 3.0 Client Library (Python2,
Python3).</li>
<li><a href="github.com/kaperys/go-webos">go-webos</a> - A small Go
library for interaction with webOS TVs (golang).</li>
</ul>
<h4 id="videos">Videos</h4>
<ul>
<li><a href="https://youtu.be/yxu0G7jM_us">LG Magic Motion Remote -
Point, Click, and Control</a> - Operate TV like a computer mouse.</li>
</ul>
<h4 id="other-1">Other</h4>
<ul>
<li><a href="http://openlgtv.org.ru">openlgtv.org.ru</a> - A
non-commercial project for legal reverse engineering and research on LG
Television firmware. Seems a bit outdated but contains a lot of
information.</li>
<li><a href="http://en.tab-tv.com/?page_id=7111">Identification of LG TV
models 2011-2017</a> - How to get screen size, matrix type, year of
development, series and ohter parameters from LG TV model name.</li>
</ul>
<h3 id="android-tv">Android TV</h3>
<h4 id="official-resources-2">Official resources</h4>
<ul>
<li><a
href="https://developer.android.com/training/tv/start/start.html">Android
TV Developers site</a> - Documentation, tutorials and best practises for
building Android TV apps.</li>
</ul>
<h4 id="articles">Articles</h4>
<ul>
<li><a
href="https://medium.com/@halilozel1903/how-to-develop-android-tv-app-5e251f3aa56b">How
to develop Android TV App?</a> - An article about developing apps for
Android TV.</li>
</ul>
<h3 id="apple-tvos">Apple tvOS</h3>
<h4 id="official-resources-3">Official resources</h4>
<ul>
<li><a href="https://developer.apple.com/tvos/">tvOS Developers Site</a>
- SDK, documentation and tutorials for developing tvOS apps.</li>
<li><a href="https://developer.apple.com/documentation/tvml">TVML</a> -
Apple TV Markup Language for creating tvOS apps.</li>
</ul>
<h3 id="google-chromecast">Google Chromecast</h3>
<h4 id="official-resources-4">Official resources</h4>
<ul>
<li><a href="https://developers.google.com/cast/">Google Cast SDK</a> -
Official Google Cast SDK documentation and tutorials.</li>
<li><a href="https://www.google.com/chromecast/built-in/tv/">TVs with
Chromecast built-in</a> - List of vendors supporting built-in Chromecast
and advantages over traditional TV remote controller.</li>
</ul>
<h2 id="cross-platform-frameworks">Cross-platform frameworks</h2>
<ul>
<li><a href="https://github.com/raphamorim/react-tv">react-tv</a> -
React development for TV: renderer for low memory applications and
Packager for WebOS, Tizen, Orsay.</li>
<li><a
href="http://developer.samsung.com/tv/develop/extension-libraries/toast/">TOAST</a>
- Samsung open-source framework for multi-platform TV apps
developemnt.</li>
<li><a href="http://enyojs.com">Enyo</a> - LG framework for development
apps for all major platforms, from phones and tablets to PCs and
TVs.</li>
<li><a href="https://github.com/immosmart/smartbox">Smartbox</a> - Smart
TV universal library for Samsung, LG, Philips, SmartTV Aliance, STB Mag
app development.</li>
<li><a href="https://github.com/mautilus/sdk">Mautilus Smart TV SDK</a>
- A platform-agnostic framework for developing TV Apps. Supports
Samsung, LG, Philips, Sony, Panasonic and VESTEL Smart TVs.</li>
<li><a href="https://bbc.github.io/tal/">BBC TAL</a> - An open source
library for building applications for Smart TV developed by BBC
engineers.</li>
<li><a href="https://github.com/pureqml/qmlcore-tv">PureQML TV</a> - A
declarative front-end framework for web-based SmartTV/STB platforms. Has
experimental support of Android TV.</li>
<li><a href="https://github.com/interfaced/zombiebox">ZombieBox</a> - An
open source Smart TV framework. Strongly typed JavaScript, component
based, built-in D-PAD navigation management, abstract video API with DRM
for all platforms. Supports many platforms like Tizen, webOS, Android
TV, etc.</li>
</ul>
<h2 id="remote-control-protocols">Remote control protocols</h2>
<ul>
<li><a
href="https://en.wikipedia.org/wiki/Digital_Living_Network_Alliance">DLNA</a>
- Industry-wide standard for sharing data over a home network. Depending
on the DLNA-compatible devices you own, you might be able to stream
films from your laptop to your TV, play an MP3 stored on your phone over
your hi-fi system, or print a photo from your tablet on your home
printer.</li>
<li><a href="http://www.dial-multiscreen.org/">DIAL</a> - Developed by
Netflix and Google, this protocol alows client devices (like smartphone,
tablet, or computer) to discover apps on server devices (like a smart TV
or streaming box) and launch content on them.</li>
<li><a href="https://en.wikipedia.org/wiki/Wi-Fi_Direct">Wi-Fi
Direct</a> - Standard enabling devices to easily connect with each other
without requiring a wireless access point.</li>
<li><a href="https://en.wikipedia.org/wiki/Miracast">Miracast</a> -
Standard for wireless connections from devices (such as laptops,
tablets, or smartphones) to displays (such as TVs, monitors or
projectors). Works over Wi-Fi Direct.</li>
</ul>
<h2 id="navigation-libraries">Navigation libraries</h2>
<ul>
<li><a href="https://github.com/stuart-williams/lrud">lrud</a> - Left,
Right, Up, Down. A spatial navigation library for devices with input via
directional controls.</li>
<li><a
href="https://github.com/luke-chang/js-spatial-navigation">js-spatial-navigation</a>
- A javascript-based implementation of Spatial Navigation.</li>
<li><a
href="https://github.com/dead/react-js-spatial-navigation">react-js-spatial-navigation</a>
- A wrapper of js-spatial-navigation to react components.</li>
<li><a
href="https://github.com/dead/react-key-navigation">react-key-navigation</a>
- Spatial Navigation components for React. Similar to the <a
href="http://bbc.github.io/tal/widgets/focus-management.html">“Focus
Management”</a> of the <a href="https://bbc.github.io/tal/">BBC
TAL</a>.</li>
<li><a
href="https://github.com/NoriginMedia/react-spatial-navigation">react-spatial-navigation</a>
- HOC-based Spatial Navigation (key navigation) solution for React.</li>
</ul>
<h2 id="testing">Testing</h2>
<ul>
<li><a href="https://suite.st">Suitest</a> - Test automation solution
for Smart TVs, gaming consoles, streaming sticks etc.</li>
<li><a href="https://github.com/stb-tester/stb-tester">stb-tester</a> -
Automated User Interface Testing for Set-Top Boxes &amp; Smart TVs
(python).</li>
</ul>
<h2 id="misc">Misc</h2>
<ul>
<li><a href="http://lirc.org">LIRC</a> - A package that allows you to
decode and send infra-red signals of many (but not all) commonly used
remote controls.</li>
<li><a
href="https://github.com/linuxenko/awesome-smarttv">awesome-smarttv</a>
- Another list of Smart TV resources. Discovered after this one was
already done :roll_eyes:.</li>
<li><a
href="https://github.com/vitalets/docker-tizen-webos-sdk">docker-tizen-webos-sdk</a>
- Docker image with Samsung Tizen CLI and LG webOS CLI. Allows to
develop, build, launch and debug Smart TV apps without installing Tizen
Studio and webOS SDK.</li>
</ul>
<h2 id="community">Community</h2>
<ul>
<li><a href="http://stackoverflow.com/questions/tagged/smart-tv">Stack
Overflow</a></li>
<li><a href="https://www.reddit.com/r/smarttv">Reddit</a></li>
</ul>
<h2 id="contribute">Contribute</h2>
<p>Feel free to share your experience and contribute useful extension
resources by creating <a
href="https://github.com/vitalets/awesome-smart-tv/issues">new issue</a>
or <a href="https://github.com/vitalets/awesome-smart-tv/pulls">pull
request</a>. Please read the <a href="CONTRIBUTING.md">contribution
guidelines</a> first. Thanks!</p>
<h2 id="license">License</h2>
<p><a href="https://creativecommons.org/publicdomain/zero/1.0/"><img
src="http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg"
alt="CC0" /></a></p>
<p><a href="https://github.com/vitalets/awesome-smart-tv">smarttv.md
Github</a></p>