⚡️A curated list of awesome resources for building Smart TV apps
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.editorconfig init Oct 13, 2016
.gitignore init Oct 13, 2016
CODE-OF-CONDUCT.md uppercase Jul 6, 2017
CONTRIBUTING.md Update CONTRIBUTING.md Jul 7, 2017
README.md Update README.md Sep 18, 2018

README.md

Awesome Smart TV Awesome

A curated list of awesome resources for building Smart TV apps

Smart TV 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.

Contents

Platforms

Below are the most popular platforms for Smart TV. The full list is here.

Samsung Tizen

Official resources

Third-party remote control libraries

  • samsungctl - 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).
  • samsung-tv-remote - Node.js module to remotely control Samsung Smart TV starting from 2016 (JavaScript).
  • homebridge-samsungtv2016 - Plugin for Homebridge that allows you to control your 2016 Samsung TV with HomeKit and Siri (JavaScript).
  • samsung-remote-models-2014-and-newer - Encrypted communication with the internal web service of Samsung TV models 2014+.
  • SmartCrypto - SmartView2 encrypted handshake API implementation in C/Python.

Other

LG webOS

Official resources

  • webOS TV Developers Site - WebOS TV apps development principles, tutorials, API documentation and packaging tools.
  • webOS TV IDE + SDK - IDE for apps development including a Command Line Interface and emulator.
  • Connect SDK - Open source framework developed by LG that connects your mobile apps with multiple media device platforms. Currently supports 8 platforms. But seems abandoned.
  • webOS TV Developers Forum - Ask questions, share information and learn about Smart TV app development with other developers.

Third-party remote control libraries

  • lgtv2 - Node.js module for remote control of LG webOS TV via WebSocket messages (JavaScript).
  • node-red-contrib-lgtv - Module for Node-RED allowing remote control of LG webOS Smart TVs (JavaScript).
  • node-webos - Node.js module to discover and control webOS TVs (JavaScript).
  • lgtv2mqtt - Interface between LG WebOS Smart TVs and MQTT (JavaScript).
  • ares-webos-sdk - webOS CLI as separate NPM module (JavaScript).
  • pylgtv - Library to control webOS based LG Tv devices (Python).
  • LGWebOSRemote - Command line tool for webOS remote control of LG TVs (Python).

Articles

Videos

Other

  • openlgtv.org.ru - A non-commercial project for legal reverse engineering and research on LG Television firmware. Seems a bit outdated but contains a lot of information.
  • Identification of LG TV models 2011-2017 - How to get screen size, matrix type, year of development, series and ohter parameters from LG TV model name.

Android TV

Official resources

Apple tvOS

Official resources

Google Chromecast

Official resources

Cross-platform frameworks

  • react-tv - React development for TV: renderer for low memory applications and Packager for WebOS, Tizen, Orsay.
  • TOAST - Samsung open-source framework for multi-platform TV apps developemnt.
  • Enyo - LG framework for development apps for all major platforms, from phones and tablets to PCs and TVs.
  • Smartbox - Smart TV universal library for Samsung, LG, Philips, SmartTV Aliance, STB Mag app development.
  • Mautilus Smart TV SDK - A platform-agnostic framework for developing TV Apps. Supports Samsung, LG, Philips, Sony, Panasonic and VESTEL Smart TVs.
  • BBC TAL - An open source library for building applications for Smart TV developed by BBC engineers.
  • PureQML TV - A declarative front-end framework for web-based SmartTV/STB platforms. Has experimental support of Android TV.

Remote control protocols

  • DLNA - 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.
  • DIAL - 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.
  • Wi-Fi Direct - Standard enabling devices to easily connect with each other without requiring a wireless access point.
  • Miracast - 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.

Misc

  • LIRC - A package that allows you to decode and send infra-red signals of many (but not all) commonly used remote controls.
  • smart-tv-app-dev-guidelines - A Smart TV App Development examples, tutorials, best-practices and documentation. Last updated on 2015.
  • awesome-smarttv - Another list of Smart TV resources. Discovered after this one was already done 🙄.
  • lrud - Left, Right, Up, Down. A spatial navigation library for devices with input via directional controls.

Community

Contribute

Feel free to share your experience and contribute useful extension resources by creating new issue or pull request. Please read the contribution guidelines first. Thanks!

License

CC0