Project complete! The LEDs are in place, the code is done, the PCB is built, and everything is installed and running. So what is there left to do? Shoot some videos of everything in action!
In all of these videos, the ambilight is generating colors in real time based on the monitor’s image. The monitor image is as-filmed and is not superimposed.
Video #1: Color Test
The first video is a basic color test, demonstrating color matching and motion handling. I couldn’t find a test video I liked, so I decided to make my own!
The video includes sequences of all solid colors, all colors on a two-color polar gradient (180° offset), and all colors simultaneously on a polar gradient. It also begins on white and ends on black.
I’ve uploaded the source video and released it under Creative Commons (Attribution) if you’d like to use it to test your own ambilight. You can find it here.
Video #2: Video Game Demo
This second video is where the ambilight truly shines.
Video games are my favorite thing to use with the ambilight, because you have somewhat direct control over the edge colors. It works fantastic with both beautiful slow-paced games (Firewatch) and fast-paced, colorful games (Overwatch).
I put together a demo reel with a dozen or so games that shows off the system’s capabilities. I’m sure I spent far more time on the demo reel than I should have, but I’m very happy with the end result.
You can find the demo reel on its own here.
If you’re going to shoot some video of your fancy new ambilight why not
do it with some style create some nice looping gifs to go with it?
Because the 256 color limit of the gif format doesn’t work great for gradients, these are actually HLTM5 compatible gifv‘s (webm). The resizing also takes away some quality – click through to watch them in full resolution on gfycat!
Ori and the Blind Forest #1
Ori and the Blind Forest #2
Note that brightness for both the monitor and ambilight were tweaked to show up best for the camera. I also normally use a different ambilight calibration (1 / 0.67 / 0.33 RGB), which looks more correct by my eye but tinted on camera.
Since filming these videos I’ve also fixed a major bug in the Arduino code, which now allows higher framerates. I currently use a grab rate of 20 ms – anything lower causes buffering on the PC side.
- Resolution: 1920×1080
- Brightness: 100%
- Contrast: 50%
- 80 LEDs
- 40 ms grab interval (~25 fps)
- 0% Over-brightening
- 3% Scene luminosity threshold (Minimum luminosity level)
- 70% Brightness (exposure matching the monitor)
- 2.0 Gamma
- Color calibrated profile (1 / 0.78 / 0.23 RGB)
- 1920×1080 at 29.97 fps
- 90mm focal length
- Shutter Speed: 1/50th
- Aperture: f/5.6
- ISO: 800
- 1920×1080 H264 @ 8 mbps (YouTube)
- 1280×720 WebM @ 8 mbps (Gfycat)
This post is part of a series on creating a DIY ambilight using Adalight and WS2812B LEDs. Check out the project page here.
Next up: Part 8 – Conclusion