@jallakim:
Torrent files are awesome when:
1. People are downloading the same content.
2. The content is very large.
3. The content is rarely changing.
In the case of fan art, none of these apply unless you pack files together in which case #2 applies. Still not enough to warrant the overhead of torrents.
Instead, I'll be handling the additional bandwidth in other ways:
1. Giving API access to the thumbnails for all artwork. We already generate thumbnails to display everything on the site, so why not make them available so client software doesn't need to download the full fan art to display when they're just having the user select which image they want.
2. Finally, the creation of mirrors. I have the code mostly done, so it's just a matter of finishing it up and getting some mirrors set up. Initially the mirrors will be set up to hold only the zip files and art, to keep it simple. Instead of relying on the mirrors API that I don't think the XBMC scraper uses, I'll probably just modify my htaccess files for each section so they randomly redirect to a mirror for every file. Slightly more CPU usage, but far more effective than relying on clients to properly select a mirror. I just have to figure out if it'll actually work that way.
3. Compression of all fan art as zipfiles. Since we're allowing access to the thumbnails so people can see the image, I can zip the full size image to reduce bandwidth. The 3 big users (XBMC, Media Portal, Meedio) can all handle pulling content from zip files, so it should help.
4. All fan art will be 1280x720. I understand that some people are using 1080 resolution (p vs i doesn't matter with the file resolution, btw), but IMHO 1280x720 graphics scale pretty well to 1920x1080 resolution, especially considering these are background images. We may support 1080 resolutions in the future, but only once I have a number of mirrors set up. People will hate me for this and stand outside my house with pitchforks, but that's life.
5. Capping fan art file sizes. This will require people to compress their JPG's at 80% instead of leaving them at 100%. It's extremely rare that an 80% compression is noticeable. I'll be running some tests to see where the file sizes should be capped, and I'll determine it based on image quality instead of bandwidth.
@agathorn:
A predefined list of colors makes no sense to me, since an image that has green in it won't necessarily look right with a green used by the skin. In fact, in most cases it would probably look worse than if the skin had remained in its default color. I'll be storing the colors as I indicated above, except I'll rearrange them so they go lightest to darkest. That should allow software to select the lightest and darkest matching colors to use. If XBMC decides to use this, that's great. But if not I think skins can just remain in their default color scheme and it'll still look nice (Aeon does this without any trouble).
@jmarshall:
As I told agathorn, I don't think implementing the colors is 100% necessary. As for displaying stuff over important areas on the background image, that may happen. I could ask the art submitter to specify if the main content is left, right, center, or none. Then the script/scraper/etc that pulls the fanart down could just pull down the images with that user's setting. This setting could probably be put in the TheTVDB scraper settings right next to the language and accountid.
The other easier option is to just have people select images that will work well with their skin. If you display the fan art they can choose from, they'll just be able to select one that has the content positioned in the right spot.
My main concern: If these are pulled down with the scraper, how will people select the image they want? Right now the image selection stuff for each record is handling the banner stuff. Can XBMC allow people to select 2 images for each series, or will that fall onto a script to handle?