One of the coolest UI elements of tvOS and the new Apple TV are the parallax images. They're used for a lot of things on the interface: app icons, featured items on the App Store, and posters.
The problem is, these posters are restricted to Apple's apps (iTunes Movies and iTunes TV Shows). Apps like Plex, CouchPotato TV, and Fetch don't have access to these parallax posters as there's no real database of them that's easily accessible. At least they weren't…
In the last update of Fetch for Apple TV I enabled parallax posters for some tv shows and movies. I'd been painstakingly creating these posters in Photoshop by cutting elements out, cloning backgrounds, exporting as LSR and then compiling to LCR.
Here's an example of Mad Max: Fury Road that I made.
It's pretty cool, but it takes a long time to create these posters myself. Apple already has thousands on the store so I wanted to see if I could scrape them from the store. As it turns out, it's actually pretty easy to do this. I made a quick and dirty command line script in PHP to see if I could grab the LCR files. Here's what I initially had.
Once I had it working I wanted to get these posters quickly into the database I'd setup to store the files I created myself. I rewrote the script as some console commands for Laravel's Artisan and automated the process by chugging through TMDb's popular movies endpoint.
I want to open up the database I'm using for Fetch to other developers for inclusion in their app. It's a rudimentary API currently but it will be improved upon if the service proves to be popular.
LSRDb now has around 1,500 movie and TV posters in there. I'm yet to scrape iTunes for the TV posters as they're square and not the traditional movie-style posters that TMDb uses. I will pull these down into a separate table for people to optionally use should they wish to.
If you'd like to use LSRDb then please feel free. A comment below or a tweet to let me know you found it useful would be very much appreciated.
You can find more information on LSRDb's website but here's a few examples:
The year parameter is completely optional and can be omitted, however in the case of films like Total Recall, there may be remakes and it is recommended to be used.
A 404 is returned when a poster does not exist in the database.