fgl27 / smarttv-twitch

Twitch client for Samsung Smart TVs 2015 and newer models, in doubt read the README bellow
GNU General Public License v3.0
165 stars 18 forks source link
css html javascript samsung samsung-smart-tv tizen twitch

smarttv-twitch

About the project

This is an web application designed to give access to Twitch features on SmartTV's, a official Twitch app is not available for most devices, that is why this project exist.

The intention of this is to make a web app that works on all modern browser and can be easily ported to any OS that can run a web app.

This project is the "secondary" project of two Twitch project I current maintain, the primary project is the Android TV one SmartTwitchTV, the reason this is secondary is simple Tizen is a very limited and exhausting system to work on Android is much better in any form and way, because of that the Tizen version is always lagging behind on features in relation to Android plus some of the Android features can't be ported to the Tizen most related to multiple players support as the OS doesn't allows it.

The application fully supports all 4k and 1080p Samsung TVs released in 2016 or later. The app also support TVs released in 2015 or earlier that have Tizen version 2.3 or newer, however for some old TV even running Tizen 2.3 may there be some minor FW issues that affect the app most of those have be fixed, so is expected that they all work if doesn't for you open a issue.

This app has no affiliation with Twitch, this is a user made app, but is only possible because Twitch provide all the API that allows the app to show Twitch content.

Those API are documented here:

Twitch Developer Documentation

This app has be registered to access Twitch API, that registration process is described here:

Twitch Registration process

Android TV version

An Android version of this is available here: SmartTwitchTV
The Android version is a full web-based app and can be used to port this project to any other OS, so check that in case you want to port this for a web-based OS.

Contributing instructions

Any Help is welcome you can use a github PR, issue or send a email.

About this fork

I initially fork this from https://github.com/CazuzaCzz/SmartTwitchTV/commits/tizen The original fork is https://github.com/nikitakatchik/SmartTwitchTV

I have started this project because the above repo's of the app did not fully support my TV model (at the time this was a Samsung Tizen OS only project) and didn't had all possible Twitch featuring.

I keep the original name and commit history but not as a fork simply because I made so may changes that makes no sense to call this a fork, I have made an new application from scratch focusing on performance and all available Twitch featuring, with the help of users and contributors reporting bugs and asking for features the app became what is today, a app that can be easily used to watch all available Twitch content and give the user a lot of extra options, but is know that the application can be improved new featuring and improves are always in the works, mostly to give a better experience and more options to the user, but that process is slow mostly because there is only one person working on the project and that work is done for free on spare time.

Project Web Dependencies

How the application looks

The application never stops receiving updates so the below images could be outdated Live

Twitch.TV authentication key

Add_key Add_key

The key is generated on the page below. The page receives a key after you use it to request one with the official Twitch.TV web site. The link below is the same that you would see on the application screen.

Twitch.TV app for Samsung TV authorization request page

when accessing Twitch authorization site after adding yours credential (User and password) you will see the bellow information

logging

The app uses the following permission:

How the app uses it individual permission:

Read your list of follows:

Get the details of your subscription to a channel.:

Send live Stream Chat and Rooms messages:

View live Stream Chat and Rooms messages:

Controls

control

The Application is tested with the above remotes (Any Samsung remote that has those same key/function must control the app even if the remote looks a little different)

The key INFO is also mapped in the app with the same functions as the GUIDE key, as some remotes may not have one of those.

Below are the on-screen controls

To access the controls from any screen press key A or on smart remote press the 4 color buttons (color) after Directional pad up for red A key and chose controls. If you are playing a stream, use the C yellow key to directly open the controls

In app controls

Main

Installation instructions:

Installation guide Tizen Studio for TVs with Tizen 2.3 or newer (tested on Linux Ubuntu 16 and up, windows 10 64 bits and macOS Mojave 10.14.4)

Help and workarounds

There is a issue section on this github page smarttv-twitch/issues on this there is a few already open issues if you have a problem with the bellow steps check there to see if any of the already opened issues have the proper help for you, if not open a new issue

Account and Downloads

Set your TV to developer mode

If you don't know how to get the local IP of your computer go to the link here How to get your IP

Installing Tizen Studio and Java SDK on Windows 10

Before installing Tizen Studio you need to have Java 8 SDK installed You can install OpenJava JDK 8 with chocolately package manager or download and install the .exe from Java SE Development Kit 8 Downloads

Via chocolately

Open Windows Powershell as Admin and run the following command to setup chocolately package manager

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Close and Re-Open Windows Powershell once the installer is complete and then run the following command

choco install openjdk12

Run the web-ide_Tizen_Studio_X.X_windows-64.exe installer file you downloaded previously with the default options selected

Installing Tizen Studio and Java SDK on Ubunutu

sudo apt-get install libwebkitgtk-1.0-0 rpm2cpio cpio expect python2.7 ruby libcanberra-gtk-module libcanberra-gtk3-module gettext

If you are on ubuntu 19 or above 20.4 libwebkitgtk-1.0-0 ins't availeble, in that case check this link Ubuntu 20 isn't yet supported by Tizen studio this are the steps to get all working

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk

Tizen Package Manager(Installing the tools)

mainsdk

extensionsdk

Setting up the build environment:

device_manager

If you have a problem on connecting refer back to Account and Downloads:, without properly enabling developer mode on the TV this will fail.

Generate a certificate:

certificate

certificate

certificate

certificate

certificate

certificate

certificate

certificate

certificate

certificate

certificate

Setup the application:

install_app1 install_app2 install_app3 install_app4 install_app5 install_app5

extensionsdk

Install the application:

install_app7

icon_square

Updates

This app can update itself 99% of the time, is a very simple process every time you open the app (when it is fully closed not running on the background) it will download the latest version of the app code from the repository, this way the installation process will only have to be redone after a major update where the changes are in the files from the release.zip, the app will warn the user if is needed to update it manually by performing the installation steps again.

In doubt open a issue

Donations

Main Paypal email link (clickable): fglfgl27@gmail.com

MainBitcoin walet adress (or use bellow QR code): 1DuhCT6L3VfBtFcS8FNfVXgBzE2rwCPx3x

Main

How to get the IP

Linux terminal command:

hostname –I

Result ip_1

Windows terminal command:

ipconfig

Result ip_2

Mac System Preferences > Network.

Result
ip_3