Roku TVs are interesting beasts, which use automatic content recognition on whatever you happen to be watching in order to market online streaming services direct to your loungeroom. [Ammar Askar] realised that this technology could instead be used to feed data to a computer to run a Philips Ambilight setup natively from whatever the TV displays.
The core of the hack came about because [Ammar’s] TV doesn’t work natively with Philips Ambilight technology. Most off-the-shelf solutions involve feeding sources, like Chromecasts or game consoles, to a HDMI splitter and then to a PC running the Ambilight software, but it gets messy real quick. Instead, [Ammar] realised that the Roku-enabled TV should be more than capable of working with the Ambilight system, given the capability of its inbuilt hardware.
The hack consists of a custom app running on the Roku hardware, which uses the in-built Roku libraries to capture frames of whatever is being displayed on the TV. It then breaks up the screen into sections and averages the color in each area. This data is then passed to a laptop, which displays the relevant colors on its own screen, where the standard Philips Hue Sync app handles the Ambilight duties.
It’s a great hack and [Ammar] doesn’t skimp on the granular fine details of what it took to get this custom code running on the Roku TV. We’d love to see more hacks of this calibre done on smart TVs; after all, there’s plenty of horsepower under the hood in many cases. Alternatively, you could always follow the CIA’s example and turn your Samsung TV into a covert listening device. Video after the break.
Interesting hack, but can anyone tell me the point of ambilight?
There is none.
The idea behind it, is that it is supposed to help reduce eye strain by reducing the contrast between your screen and the darkness of the room. I don’t know if there have been any studies to show if it helps/works, but that is the idea anyway. Worst case scenario, it doesnt but it is still pretty cool.
It’s supposed to make what you’re watching more immersive, especially in a dark room.
The idea is that flooding the nearby walls with colors averaged from the display reduces the contrast from the edge of the screen to the surrounding area. Most setups use addressable LED strips and image processing to approximate what your peripheral vision would expect outside the perimeter of your screen.
It’s considered to have a much better bang-for-the-buck with regards to achieving that movie theater feel than investing in a larger TV or projection system, and is a great option if you don’t have the space or budget for a big screen.
All I can say is I have an Ambilight TV and I love it. Thought it would be just another marketing gimmick but got a good deal on a good 4k TV so pulled the trigger. Was so impressed by it that I also bought some Hue bulbs that sync to the TV so I not only have the ambience from the TV LEDs but from my whole livingroom lighting too. Such an immersive setup, I think it’s great and haven’t looked back but each to their own I suppose…
In addition to being immersive as others have pointed out, any sort of this indirect backlighting of the display also reduces eye strain by reducing the sharp contrast in brightness. (That much is possible even with just cheap white led tape) I’m sure the color stuff works even better, though the fact that it’s using the workings of your visual system to trick you into seeing a more immersive picture than is actually there, is a pretty neat trick on its own. (Think of it as adding some very large pixels to the edge of the display, you don’t focus on them so the low spatial resolution doesn’t really matter. It fills your peripheral vision, not just your fovea/central vision)
I always think of it as a means to disguise a poor screen contrast ratio; as the borders/ambient is a little more illuminated, the not-so-black (as the screen can’t do a pitch-black spot) areas will appear darker than they really are.
Of course, based on a late 2000’s model I had, with an old 720p LCD panel; things may have changed and probably evolved to a continuation of the technology as a cool feature, though.
I love Philips tv’s with Ambilight. Though they also do local dimming on the LED backlighting since quite some time.
Can’t have a blacker black than off right? :)
You are right! I currently own an LG which does this, using vertical “stripes” in the panel backlight – there are about 5 “vertical blocks” controlled individually that dims / turns off based on the image. Works, but sometimes it’s quite irritanting.
If you move the Freespace cursor around while in a black screen, you can actually see the LED stripes turning on and off individualy. In fact, “black” is black, but the area where the cursor is turns to a washed black, and that makes me crazy… :D
In addition to eye strain, it can also help with motion sickness. I get it bad playing some video games, even games I’m fine with can make me sick if I turn off the lights, then it’s a bright screen on a black wall.
I’m not sure if this is how it works, but it feels like the motion on the tv creates some sort of lever effect with the percieved motion. There’s a line between you and a point in the screen, when the camera swings the brain percieves the line roatating with the fulcrum at the the tv, so it is quick and makes you feel sick. With the ambilight it feels more like you are at the fulcrum so when the camera swings it seems a little slower and less jolting.
This is great I’ve always wanted ambilight. I did have to chuckle when he said it gets messy real fast then piped his data back to a laptop which then interfaced the ambilight!
This is RIPE for putting some LED strips on the TV and going whole hog?
Alex, that’s just a temporary setup for testing. My plan (when I’m not being so lazy) is to have the TV use the Hue api directly to control the lights.
Update
You can do this pretty easily with a Hyperion-ng and an addressable LED strip. If you have an AndroidTV box like the Shield you can even run the capture app straight off the app store without having to use a capture card.
Right, the app I’ve seen used there is HueStream: https://play.google.com/store/apps/details?id=com.bullbash.huestream&hl=en_AU&gl=US
The main caveats are that this won’t be able to pick stuff coming from your game consoles and won’t work for HDCP protected content like Netflix unless you root your AndroidTV.
Holy moly, the ambient lighting bit here is just the cherry on top: this is really “how I rooted my Roku based smart tv, then used the dedicated hardware in it to spy on myself the same way it spies on me”
I very much want to believe that the post was written in the actual order of events, and OP spent money on lighting hardware assuming they could hack the TV to get the color data out.
That is indeed the actual order of events but the hacking part was more motivated by: “why do I need to buy even more extra hardware or use a janky setup for this when my TV is literally capable of this and has such beefy hardware”
Why the Roku libraries have a function to capture what is being shown on the TV in the first place?
Because you’re the product, not the TV (more specifically, the data on what shows you watch and what adverts you’ve seen)
Because, uh… science? Omniscience, maybe, but lines gets a little blurred here…
Well, it just occurred to me… People watch “Big Brother” (the TV reality show) thinking they are watching everything that happens in the show… maybe it’s the other way round, though.
Exactly what I was thinking,why can’t the Government stop every single social media from spying on us,I’m starting to realize that is exactly what they love,but oh no don’t nobody dare spy on them…like Facebook,Instagram and much more but those are the only two things that I have and use ever so often.
Actually I am more impressed he hacked the ROKU, but for how long until the next update wipes the hack?