Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
adamkaz
Level 7

Suggestion for Roku4 / JPEG image artifacts

We are working on adding a FHD splash screen to our application. We've noticed that JPEGs look pretty bad as a splash screen - lots of weird artifacting that I don't see on my computer.

We want to use a PNG, as it is recommended and also looks much better. However, having an SD, HD, and FHD splash screen within the 2MB application limit is very challenging, especially if the images have any kind of detail. Currently, it looks like we are going to have to live with our FHD splash screen being the same as our HD splash screen. (with a border around it for FHD).

It would be nice if Roku was smart enough to only deploy the local FHD resources to devices that can use them. It would be a good way to keep the file size down for the Roku 1 players.
0 Kudos
8 Replies
Roku Employee
Roku Employee

Re: Suggestion for Roku4

Hi, there is no 2mb limitation. We would prefer you use as small a file as you can, so users don't have to wait while your app swaps in and then launches. If the actual graphics that we require you to have in your channel result in your file being larger than 2mb then that is fine. What we don't like is if you store artwork that can be stored on your server in your channel, or accidentally leave old .PSD files and other junk in your project when you zip it.

FYI, a 90% quality or higher .jpg file usually looks pretty good as a splash, but if you want to use a .png go ahead.

- Joel
0 Kudos
adamkaz
Level 7

Re: Suggestion for Roku4

Thanks for the response. To be fair I had not tested it on a Roku 1, but when I install the application on my usual Roku3 development device, I get:
"Warning: Application size prevents it from working on Roku 1 players (3471281 > 2097152)."

We have a Roku 1 in the office so I can double check later this week whether this is an issue or not. If it is not an issue, I suggest you update the warning message, so others don't head down the same path I did. Maybe Roku 1 here means Roku 1st generation devices?

SDK documentation also says: "Applications are limited to a maximum of 2MB in size, due the the limited amount of flash storage available. In general, since these are internet enabled applications, they tend to be much smaller and are typically less than 300KB in size."
0 Kudos
EnTerr
Level 9

Re: Suggestion for Roku4

"adamkaz" wrote:
It would be nice if Roku was smart enough to only deploy the local FHD resources to devices that can use them. It would be a good way to keep the file size down for the Roku 1 players.

I can think of couple reasons why stripping resources won't work: first, RokuCo pride themselves that channel bundles are "sealed" end-to-end, since upload till unpacking on the device (i have yet to see a white-paper on exact details of the process - i feel it's mostly security-through-obscurity fog - but regardless, even the appearance gives sense of security to the MVPDs... apparently). And second, i hear other players but Roku4 can also do FHD UI, so can't just drop said resources.

A better ponder is why doesn't splash_screen_fhd scale up, if given a smaller image?
Actuallly, what happens if you don't specify splash_screen_fhd at all?! Doesn't it just use the next-best image - splash_screen_hd, zoomed - "automagically"?

We've noticed that JPEGs look pretty bad as a splash screen - lots of weird artifacting that I don't see on my computer.

I wonder what is wrong with your splash JPEG?!
One, i cannot believe there will be only artifacts on TV but not on computer screen.
And two, to see artifacts from TV viewing distance, something has to be seriously wrong either with the compression or the image (using jpg on line-art? mon dieu!) - since TV is very forgiving.
0 Kudos
adamkaz
Level 7

Re: Suggestion for Roku4

It does appear to stretch the HD splash screen to FHD if I do not specify one. But I'd still like to take advantage of the full resolution - I'll test on a Roku 1 tomorrow. That way we'll know for sure if the documentation is wrong.

In regards to the artifacting, I've seen this many times with different JPEG images, Roku devices and displays (I think we have ~10 in house).

If you'd like to play along at home - try these two test images as your splash screen (I made a file with a "stop" at the beginning of main() so that the splash image hangs). I've seen the same behavior if you display the images within your app.

PNG - looks great!
https://dl.dropboxusercontent.com/u/105951342/test_image.png

JPG - look closely at the screen and you'll see an artifacted black grid slightly offset from the white grid
https://dl.dropboxusercontent.com/u/105951342/test_image.jpg

Would love to know if you see it too.
0 Kudos
TheEndless
Level 7

Re: Suggestion for Roku4 / JPEG image artifacts

"adamkaz" wrote:
Thanks for the response. To be fair I had not tested it on a Roku 1, but when I install the application on my usual Roku3 development device, I get:
"Warning: Application size prevents it from working on Roku 1 players (3471281 > 2097152)."

This is an old message that is actually referring to the "classic" Roku 1 players (the originals from back in 2008-2011). Support for those devices was dropped awhile back. The current gen Roku 1 doesn't have the same limitation. No idea why they haven't removed it from the side-loading interface.

Likewise, the SDK documentation just hasn't been updated, apparently.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
adamkaz
Level 7

Re: Suggestion for Roku4 / JPEG image artifacts

Yeah - usually I get in trouble for not reading the documentation. Smiley Very Happy
0 Kudos
EnTerr
Level 9

Re: Suggestion for Roku4

"adamkaz" wrote:
PNG - looks great!
https://dl.dropboxusercontent.com/u/105951342/test_image.png

JPG - look closely at the screen and you'll see an artifacted black grid slightly offset from the white grid
https://dl.dropboxusercontent.com/u/105951342/test_image.jpg

Would love to know if you see it too.

Yes, i see the ghost lines with the JPG as a splash - but not with the PNG. This is odd!

Here is why - first from your post i assumed what you got are ringing artifacts in JPG but that does not seem to be the case because (a) i cannot see them on computer and (b) the darker (ghost) lines are far removed from the white (existing) lines. In the case of overshoot/ringing they should be right next to each other.

Couple of theories i thought of... and dispelled. One, i thought it might be a problem of the video signal, e.g. some compression Roku applies over the HDMI cable. But that does not explain the PNG working, so fail. Two, I thought maybe the 720->1080 upscaling causes it - my player (Roku3) was in 1080 mode. But switched display mode to 720 and the result remained the same (the splash was showing in 1080p and 720p, per TV info). So not that either.

Roku guys - any idea why JPG rendering differs notably? Might be a bug.

Now this said, @adamkaz - you have picked the wrong image to store as JPG Smiley Wink. It is line art. There are couple of gradients but the rest are lines with sharp contrast borders (the bane of jpeg - also, not at all real-life-photo-alike). Looking at the file sizes alone should tell you to use the PNG (49k) instead of JPG (138k). If your splash is "anime" style, go with PNG - it will be smaller and no risk of "bleeding"
0 Kudos
adamkaz
Level 7

Re: Suggestion for Roku4 / JPEG image artifacts

Yeah, this isn't my splash image, it's just a generic test image. My splash image is half as small in jpeg form. Now that I know the size limitation is an outdated message I'm fine using the png. However, we use jpegs for channel art and they also exhibit this behavior.

Bottom line, this is likely a bug. Someone should look into it.
0 Kudos