/piccap

PicCap

Primary LanguageCSSMIT LicenseMIT

PicCap - Hyperion Sender App | Ambilight for LG WebOS TVs

Hyperion?

Hyperion basicly is a server service which is running on for example a Raspberry Pi connecting to LED stripes to get an ambilight, as like Philipps TVs have. The main page of this project: https://github.com/hyperion-project/hyperion.ng Here is a simple HowTo-DIY-Build tutorial: https://github.com/TBSniller/piccap/blob/main/DIY_Ambilight.md

What is this?

The main idea of this is, to have a simple frontend app with autostart feature for the hyperion-webos executable firstly developed by mariotaku here: https://github.com/webosbrew/hyperion-webos. This executeable now is a real native WebOS-service through what we get some benefits like higher performance.
PicCap directly speaks to this service, so its reasonable for starting, stopping, displaying and changing settings of this service.

I'm not a real programmer and all this stuff is really new to me. The only reason this exists, is because I just wanted to have it for any cost. Feel free to create an issue or pull request if you can make things better.

This app is still in very early development.

I think a picture describes what's going on:
image

Not working

  • Autostart only works after a complete TV-restart. If your TV goes to suspension after shutting it down, our startup scripts doesn't get fired when the TV gets waked up again. To work around it, you will have to disable LGs Quick Start+ in settings until we find a reliable way. This way the TV doesn't go to sleep, it fully shuts down.
  • Nothing more known so far.
  • Please see https://github.com/webosbrew/hyperion-webos/tree/main#known-issues for issues regarding the backend capture service. - This is only the frontend application!

What do you need?

At this time root is neccessary. You will also need to have the latest Homebrew Channel installed: https://github.com/webosbrew/webos-homebrew-channel

You should also know what you are doing and should have basic knowledge about all this root stuff, because you can brick your TV and I wouldn't take any responsibilty if you did so. Mainly this isn't the case, but you have been warned.

After first start

Wait a few secounds to let the service elevate root permissions through the Homebrew Channel-Service. After that a full reboot (no powercycle) of your TV might be neccessary. You can simply use the reboot button.

Old TV, new TV?

Actually we reversed four different librarys which are used by LG TVs to capture the screen. That's why this app covers different ways of handling these librarys.
You can take a look at here to get an idea: https://github.com/webosbrew/hyperion-webos/tree/main#backends

How to use

Simply fill in your parameters and press save. The configuration file will then be saved to the service directory and reloaded to the application.

Simply press start after the application ended loading.

How to install

Easy way:
Install it directly from HBChannel https://github.com/webosbrew/webos-homebrew-channel. It's published at the repo: https://repo.webosbrew.org/apps/

You can also download the ipk from releases or build it all yourself.

After that install it using ares: cmd.exe /c E:\webOS_TV_SDK\CLI\bin\ares-install.cmd -d YOURTV E:\Downloads\org.webosbrew.piccap_0.2.3_all.ipk

Or install it manually:

Copy to TV:
scp /home/USER/downloads/org.webosbrew.piccap_0.2.3_all.ipk root@TVIP:/tmp/org.webosbrew.piccap_0.2.3_all.ipk

or download:
wget -P /tmp https://github.com/TBSniller/piccap/releases/download/testing/org.webosbrew.piccap_0.2.3_all.ipk And installing on TV using:
luna-send -i -f luna://com.webos.appInstallService/dev/install '{"id":"org.webosbrew.piccap","ipkUrl":"/tmp/org.webosbrew.piccap_0.2.3_all.ipk","subscribe":true}'

or use one-liner:
luna-send -i 'luna://org.webosbrew.hbchannel.service/install' '{"ipkUrl":"https://github.com/TBSniller/piccap/releases/download/0.2.3/org.webosbrew.piccap_0.2.3_all.ipk","ipkHash":"4bfd262421f27fd33b66062e117f97c5a3f3b8d24cd4583645878bd0cc3c6cc2"}'

How to build

Put compiled versions of hyperion-webos and needed libraries in nativeservice folder.
Then:
mkdir build
npm install npm run-script build npm run-script package-native

Credits

As stated in the application:
Love to Mariotaku https://github.com/mariotaku
Love to JohnPaul https://github.com/Informatic
Love to tuxuser https://github.com/tuxuser
Love to chbartsch https://github.com/chbartsch
Love to OpenLG-Discord https://discord.gg/9sqAgHVRhP
All this wouldn't be possible without them!

Obvously WebOS SDK from LG https://webostv.developer.lge.com/sdk/installation/download-installer/
Application design easily created with https://nicepage.com/html-website-builder