Awesome Smart TV
Smart TVを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
プラットフォーム
以下はSmart TVで最も普及しているプラットフォームです。完全な一覧はこちら。
Samsung Tizen
公式リソース
- Samsung TV Developers site - ニュース、ドキュメント、SDKのダウンロード。
- Tizen TV Developers site - Tizen TVアプリ開発向けの完全なAPIドキュメントとガイド。
- Tizen Studio - Tizen TV Emulatorを含むTVアプリ開発用IDE。
- Smart View SDK - 遠隔機器とSamsung Smart TVの通信向け公式Android、iOS、JavaScript SDK。
- Samsung TV Developers Forum - Samsung SDKによるアプリ開発について質問し、ヒントを共有。
- Samsung Smart TV Bug Bounty - Samsung TVでバグを発見した場合、ここへ報告すると1,000ドル以上の報奨金を得られる。
- vscode-extension-tizentv - Tizenアプリケーション開発者向けの軽量IDEを提供するVisual Studio Code拡張。
- Wits - 変更のたびにアプリを再インストールせず、TVアプリのJavaScript/CSSを再読み込みするツール。
サードパーティ遠隔操作ライブラリ
- samsungctl - TCP/IP接続でSamsungテレビを遠隔操作するライブラリ兼コマンドラインツール。2016年以前のテレビと、EthernetまたはWi-Fi接続を備えた現代のTizen OSテレビの大部分に対応(Python)。
- samsung-tv-remote - 2016年以降のSamsung Smart TVを遠隔操作するNode.jsモジュール(JavaScript)。
- homebridge-samsungtv2016 - Homebridge向けプラグイン。2016年製Samsung TVをHomeKitとSiriで操作できる(JavaScript)。
- homebridge-samsung-tizen - Homebridge向けプラグイン。Samsung Tizen TVをHomeKitとSiriで操作できる(JavaScript)。
- samsung-remote-models-2014-and-newer - 2014年以降のSamsung TVモデルに搭載された内部Webサービスとの暗号化通信。
- SmartCrypto - C/PythonによるSmartView2暗号化ハンドシェイクAPI実装。
- samsung-messagebox - Samsung TVへ通知を表示するPythonスクリプト。
- samsung-tv-control - Node.jsでSamsung TVを遠隔操作するライブラリ。
その他
- Identification of Samsung TV models 2008-2017 - Samsung TVのモデル名から画面サイズ、パネル種別、開発年、シリーズ、その他のパラメーターを取得する方法。
- Tizen Studio development references - 個人研究に基づく、Smart TVと業務用モニター向けWebアプリに焦点を当てた文書。
- [TizenBrew] (https://github.com/reisxd/TizenBrew) - 改造したWebサイトを体験し、Tizen Studioと格闘せずに新しいアプリをインストールする方法。
- [TizenTube] (https://github.com/reisxd/TizenTube) - 広告を削除しSponsorBlockへ対応することで、好みのストリーミングWebサイトの視聴体験を向上するTizenBrewモジュール。
- Beam-TV - Samsung Tizen TV向けのオープンソース・アカウント不要メディアプレーヤー。USBおよびローカルネットワーク(DLNA)の動画、音声、字幕をテレビで直接再生(JavaScript)。
LG webOS
公式リソース
- webOS TV Developers Site - webOS TVアプリの開発原則、チュートリアル、APIドキュメント、パッケージツール。
- webOS TV IDE + SDK - コマンドラインインターフェースとエミュレーターを含むアプリ開発用IDE。
- Connect SDK - モバイルアプリを複数のメディア機器プラットフォームへ接続する、LG開発のオープンソースフレームワーク。現在8プラットフォームに対応。ただし放棄されたように見える。
- webOS TV Developers Forum - 他の開発者と質問、情報共有、Smart TVアプリ開発の学習を行う。
サードパーティ遠隔操作ライブラリ
- lgtv2 - WebSocketメッセージでLG webOS TVを遠隔操作するNode.jsモジュール(JavaScript)。
- node-red-contrib-lgtv - LG webOS Smart TVを遠隔操作できるNode-RED向けモジュール(JavaScript)。
- node-webos - webOS TVを検出・操作するNode.jsモジュール(JavaScript)。
- lgtv2mqtt - LG webOS Smart TVとMQTTのインターフェース(JavaScript)。
- ares-webos-sdk - 独立したNPMモジュールとしてのwebOS CLI(JavaScript)。
- pylgtv - webOSベースのLG TV機器を操作するライブラリ(Python)。
- LGWebOSRemote - LG TVをwebOS経由で遠隔操作するコマンドラインツール(Python)。
- homebridge-webos-tv - webOS TVを操作できるHomebridge向けプラグイン。
- PyWebOSTV - 汎用で拡張可能なwebOS 3.0クライアントライブラリ(Python 2、Python 3)。
- go-webos - webOS TVと連携する小さなGoライブラリ。
動画
- LG Magic Motion Remote - Point, Click, and Control - コンピューターマウスのようにテレビを操作。
その他
- openlgtv.org.ru - LGテレビのファームウェアを合法的にリバースエンジニアリング・研究する非営利プロジェクト。やや古いようだが、多くの情報を収録。
- Identification of LG TV models 2011-2017 - LG TVのモデル名から画面サイズ、パネル種別、開発年、シリーズ、その他のパラメーターを取得する方法。
Android TV
公式リソース
- Android TV Developers site - Android TVアプリ構築向けのドキュメント、チュートリアル、ベストプラクティス。
記事
- How to develop Android TV App? - Android TV向けアプリ開発に関する記事。
Apple tvOS
公式リソース
- tvOS Developers Site - tvOSアプリ開発向けSDK、ドキュメント、チュートリアル。
- TVML - tvOSアプリを作成するApple TV Markup Language。
Google Chromecast
公式リソース
- Google Cast SDK - 公式Google Cast SDKドキュメントとチュートリアル。
- TVs with Chromecast built-in - Chromecast内蔵対応メーカーと、従来のテレビリモコンに対する利点の一覧。
クロスプラットフォームフレームワーク
- react-tv - TV向けReact開発。低メモリーアプリケーション用レンダラーと、webOS、Tizen、Orsay向けパッケージャー。
- TOAST - マルチプラットフォームTVアプリ開発向けのSamsung製オープンソースフレームワーク。
- Enyo - スマートフォン、タブレット、PC、テレビなど、主要プラットフォーム全般のアプリを開発するLG製フレームワーク。
- Smartbox - Samsung、LG、Philips、SmartTV Alliance、STB Magのアプリ開発向け汎用Smart TVライブラリ。
- Mautilus Smart TV SDK - TVアプリを開発するプラットフォーム非依存フレームワーク。Samsung、LG、Philips、Sony、Panasonic、VESTEL Smart TVに対応。
- BBC TAL - BBCのエンジニアが開発した、Smart TV向けアプリケーション構築用オープンソースライブラリ。
- PureQML TV - WebベースSmart TV/STBプラットフォーム向け宣言型フロントエンドフレームワーク。Android TVへ実験的に対応。
- ZombieBox - オープンソースSmart TVフレームワーク。強い型付きJavaScript、コンポーネントベース、内蔵D-PADナビゲーション管理、全プラットフォーム向けDRM対応抽象動画APIを備える。Tizen、webOS、Android TVなど多数のプラットフォームに対応。
遠隔操作プロトコル
- DLNA - ホームネットワークでデータを共有する業界標準。所有するDLNA対応機器によっては、ノートPCからテレビへ映画を配信し、スマートフォン内のMP3をオーディオシステムで再生し、タブレットの写真を家庭用プリンターで印刷できる。
- DIAL - NetflixとGoogleが開発。スマートフォン、タブレット、コンピューターなどのクライアント機器が、Smart TVやストリーミングボックスなどのサーバー機器上のアプリを検出し、コンテンツを起動できるプロトコル。
- Wi-Fi Direct - 無線アクセスポイントを必要とせず、機器同士を簡単に接続できる標準。
- Miracast - ノートPC、タブレット、スマートフォンなどの機器から、テレビ、モニター、プロジェクターなどの画面へ無線接続する標準。Wi-Fi Direct上で動作。
クロスプラットフォームツール
- smartest-tv - 名前を指定して任意のSmart TVでNetflix、YouTube、Spotifyを再生するCLI兼MCPサーバー。LG、Samsung、Android TV、Rokuを横断してコンテンツへディープリンクし、「Frieren S2E8」と言えば再生する(Python)。
- Fluxcast - MiracastとDLNAを介してLinuxデスクトップをSmart TVへミラーリングする使いやすいPythonユーティリティ。GNOME、KDE、wlroots/Waylandに対応。
ナビゲーションライブラリ
- lrud - Left、Right、Up、Down。方向キー入力を使う機器向け空間ナビゲーションライブラリ。
- js-spatial-navigation - JavaScriptベースの空間ナビゲーション実装。
- react-js-spatial-navigation - js-spatial-navigationをReactコンポーネントへラップ。
- react-key-navigation - React向け空間ナビゲーションコンポーネント。「Focus Management」に類似し、これはBBC TALで提供される。
- react-spatial-navigation - React向けHOCベース空間ナビゲーション(キーナビゲーション)ソリューション。
テスト
- Suitest - Smart TV、ゲーム機、ストリーミングスティックなど向けテスト自動化ソリューション。
- stb-tester - セットトップボックスとSmart TV向けの自動ユーザーインターフェーステスト(Python)。
その他
- LIRC - 一般的なリモコンの多く(すべてではない)の赤外線信号を復号・送信できるパッケージ。
- awesome-smarttv - Smart TVリソースの別のリスト。このリストの完成後に発見 :roll_eyes:。
- docker-tizen-webos-sdk - Samsung Tizen CLIとLG webOS CLIを備えたDockerイメージ。Tizen StudioとwebOS SDKをインストールせずにSmart TVアプリを開発、ビルド、起動、デバッグできる。
コミュニティ
コントリビュート
新しいIssueまたはPull Requestを作成し、経験や有用な拡張リソースを自由に共有してください。 まずコントリビューションガイドラインをお読みください。ありがとうございます。