[Feature] User uploaded Thumbnails for Flash posts

In category: Site Bug Reports & Feature Requests

Requested feature overview description.
Allow the user to upload a additional custom thumbnail image for the Flash File additionally.

Why would it be useful?
make searches for a particular flash video or animation easier more user friendly, tagging alone only goes so far, no thumbnails means the user has to still click thru a dozen sometimes a couple hundred flash videos on a single page till they find what their looking for.

What part(s) of the site page(s) are affected?
Post editing(upload editing only), posts

Hudson
Contributor
9 months ago
anthro black_fur black_hair black_nose canine cheek_tuft chest_tuft chicago-lollie clothed clothing ear_tuft facial_hair fox fur gloves_(marking) goatee hair hat lapfox_trax male mammal markings multicolored_fur nurse nurse_uniform red_fur renard_queenston sharp_teeth slit_pupils solo teeth tuft uniform virtual_boy white_fur yellow_eyes

Rating: Safe
Score: 48
User: Hudson
Date: August 21, 2016

Some users only upload for the sake of getting the posts under their name and often only add 4-7 tags. They would probably not care about uploading a separate thumbnail.

I also predict that some users will upload something irrelevant as thumbnail, especially trolls.


If users consistently upload things with only a tiny amount of tags isn't that something sorta gray area against the rules?

Also it would be useful to have SOME form of knowing what a flash is before clicking on it to find out.

Hudson
Contributor
9 months ago
anthro black_fur black_hair black_nose canine cheek_tuft chest_tuft chicago-lollie clothed clothing ear_tuft facial_hair fox fur gloves_(marking) goatee hair hat lapfox_trax male mammal markings multicolored_fur nurse nurse_uniform red_fur renard_queenston sharp_teeth slit_pupils solo teeth tuft uniform virtual_boy white_fur yellow_eyes

Rating: Safe
Score: 48
User: Hudson
Date: August 21, 2016

GDelscribe said:
If users consistently upload things with only a tiny amount of tags isn't that something sorta gray area against the rules?

The minimum is still 4. There has been some discussing about this number, but for now, as long as uploaders add at least 4 tags on every upload, as lazy as it is, it's not against the rules.

I wish there was some kind of way e621 would automatically create a thumbnail for each GIF and WebM by randomly plucking a frame and putting it on the front as thumbnail, but I'm not sure about this either.


Hudson said:
The minimum is still 4. There has been some discussing about this number, but for now, as long as uploaders add at least 4 tags on every upload, as lazy as it is, it's not against the rules.

I wish there was some kind of way e621 would automatically create a thumbnail for each GIF and WebM by randomly plucking a frame and putting it on the front as thumbnail, but I'm not sure about this either.

Google does it, and so does futaba clients like 4chan so its entirely possible to do on an online platform.

Might be worth looking into.


Another solution would be to use the thumbnail of the parent post. Of course, that would require flashes to have still images as their parents, whereas usually it's the other way around.


This has been requested many times already, I know this because I'm one who have also requested this. Problem with flash is automatic generation can be security hole as flashes have to be always executed. User submitted thumbnails comes down to legimicity and lazyness as well as site implementation of it.

Hudson said:
I wish there was some kind of way e621 would automatically create a thumbnail for each GIF and WebM by randomly plucking a frame and putting it on the front as thumbnail, but I'm not sure about this either.

Gifs already always use the first frame, but I guess this is pretty much just using same system used for every other image and being first frame is side effect of thumbnail creation.

Should be pretty easy thing to do with webm files as all you need to do is pull one of exsisting frames from animation and use that as image, where with flash you would need to generate that frame.
I remember there being debate that the tumbnails may turn out complete black or other similar, but I call bshit because gifs may also already have black thumbnails and black thumbnail is as useful as thumbnail just reading "video".

Chessax
Contributor
9 months ago
2010 ambiguous_gender black_lips canine cute daffodil_(flower) day eyes_closed feral flower forest fox fur half-length_portrait inner_ear_fluff long_mouth mammal markings matt_binstead nature orange_fur outside photo plant portrait real red_fox side_view sniffing snout solo tree whiskers white_fur

Rating: Safe
Score: 217
User: zoodno
Date: September 17, 2010

Hudson said:
Some users only upload for the sake of getting the posts under their name and often only add 4-7 tags. They would probably not care about uploading a separate thumbnail.

Then there just won't be a difference, or you could force users to upload a thumbnail, or auto generate one if not supplied (if possible).

Hudson said:
I also predict that some users will upload something irrelevant as thumbnail, especially trolls.

Well, of course user submitted (and auto generated?) thumbnails would have to be approved, probably at the moment of regular approval. It will create more work for janitor+, but it might be minor if implemented properly.

Mario69 said:
I remember there being debate that the tumbnails may turn out complete black or other similar, but I call bshit because gifs may also already have black thumbnails and black thumbnail is as useful as thumbnail just reading "video".

Simple solutions to misleading_thumbnail-like problem:

  • Border color (confusing/messy because of other border colors?)
  • Corner ribbon overlay
  • Overlay to still say "video"
Genjar
Contributor
9 months ago
2011 annoyed antennae arthropod biped black_markings blue_eyes clear_membrane clothed clothing crossed_arms cute duo feral front_view green_body human insect insect_wings lifting lol_comments male mammal markings moth nisimawari pellucid_hawk_moth portrait quadruped shirt shorts simple_background solo_focus spread_wings standing three-quarter_portrait three-quarter_view traditional_media_(artwork) watercolor_(artwork) white_background wings

Rating: Safe
Score: 231
User: Genjar
Date: May 29, 2013

I agree that there should be some way to easily tell them apart from still images if the animation thumbnails get implemented.

Chessax said:
Simple solutions to misleading_thumbnail-like problem:

  • Border color (confusing/messy because of other border colors?)
  • Corner ribbon overlay
  • Overlay to still say "video"

1. Border colors are already distracting enough, especially for posts that have actual border. They also look rather untidy on thumbnails (which is why I avoid using those in the wiki).

2. Ribbon overlays are used by many professional sites. Not sure how easy it'd be to implement, but that's the option I'd prefer.

3. Depending on the thumbnail, text overlay might look messy and/or unreadable.


It's possible to grab a screenshot of the flash video. I know swfchan does it. It isn't always exactly pretty but it works 99% of the time.
Although swfchan is written in PHP and PHP has the flash library built in. I am not sure if Ruby has a flash manipulation library. If not it is possible to allow the client to provide a screenshot of the flash(Not directly though, but indirectly via scripts, people found abusing(I.E. exploiting HTTP messages) this to upload dank meme screenshots instead of the actual thumbnail can be banned. :>).

Chessax
Contributor
9 months ago
2010 ambiguous_gender black_lips canine cute daffodil_(flower) day eyes_closed feral flower forest fox fur half-length_portrait inner_ear_fluff long_mouth mammal markings matt_binstead nature orange_fur outside photo plant portrait real red_fox side_view sniffing snout solo tree whiskers white_fur

Rating: Safe
Score: 217
User: zoodno
Date: September 17, 2010

Genjar said:
1. Border colors are already distracting enough, especially for posts that have actual border. They also look rather untidy on thumbnails (which is why I avoid using those in the wiki).

Agreed

Genjar said:
2. Ribbon overlays are used by many professional sites. Not sure how easy it'd be to implement, but that's the option I'd prefer.

▼ Example: Copy paste into developer console on index page for testing
var flash = document.createElement('div');
flash.style.position = 'relative';
flash.style.width = '149px';
flash.style.height = '0px';
flash.style.top = '-149px';
flash.style.margin = '0px auto';
flash.style.zIndex = '9';
var inner = document.createElement('div');
inner.style.position = 'absolute';
inner.style.overflow = 'hidden';
inner.style.width = '85px';
inner.style.height = '85px';
inner.style.top = '0px';
inner.style.right = '0px';
var banner = document.createElement('div');
banner.style.position = 'relative';
banner.style.top = '15px';
banner.style.left = '20px';
banner.style.zIndex = '999';
banner.style.transform = 'rotate(45deg)';
banner.style.color = 'white';
banner.style.backgroundColor = 'rgb(54, 66, 114)';
banner.style.backgroundImage = 'linear-gradient(to top, rgb(4,16,64), rgb(104,116,164))';
banner.style.textAlign = 'center';
banner.style.fontWeight = 'bold';
banner.innerHTML = 'Flash';
inner.appendChild(banner);
flash.appendChild(inner);
var video = flash.cloneNode(true);
video.childElements()[0].childElements()[0].innerHTML = 'Video';
var spans = document.getElementsByClassName('thumb');
var temp;
for (var i = 0; i < spans.length; ++i){
 var img = spans[i].getElementsByTagName('img')[0];
 if (img.src.indexOf('webm-preview') > -1){
  console.log("video");
  temp = video.cloneNode(true);
  if (img.className != 'preview'){
   temp.style.top = '-152px';
  }
  spans[i].getElementsByTagName('a')[0].appendChild(temp);
 }
 else if (img.src.indexOf('download-preview') > -1){
  console.log("flash");
  temp = flash.cloneNode(true);
  if (img.className != 'preview'){
   temp.style.top = '-152px';
  }
  spans[i].getElementsByTagName('a')[0].appendChild(temp);
 }
}

Genjar said:
3. Depending on the thumbnail, text overlay might look messy and/or unreadable.

Could easily be fixed by e.g. pinning it to bottom and using opaque background, of course this will hide some of the thumbnail, but then a ribbon is probably better anyway.


In that case, should there be a separate request ticket for non-flash video thumbnails?

(or, does one already exist?)

-
https://e926.net/forum/show/200873


Oh this thread, what a coincidence! I made a thing and sent the code over to Kira. She is considering it.
Demo of what it is: http://api.softhyena.com/e621_thumbnail.py?id=<put post ID or hash here> (Hash is preferred)
Example lanks:
Webms:

Flash:

Known issues:
Its FUCKING SLOW (this is because of my internet)
Some flash shows as white/black
Some flash will crash the thumbnailer resulting in an error page(This is because non-existent frames on weird flash files), solution would to display stock flash thumbnail.
No id→hash caching, this won't be a problem on e621
If two requests get sent out at once, it may result in the full image being the thumbnail. again this wont be a problem on e621 as it will only post the file once a thumbnail has been made(be it successful or not).

A small icon should probably be added to the thumbnail to indicate that it is a flash or webm, since there is no telling if a image is a flash or webm just by looking at the thumbnail.

IMPORTANT: This does not mean it will be added to e621, but we are a step closer to potentially having a webm/flash thumbnailer!

leomole
Privileged
5 months ago
2014 anthro bottle bottomless cat chair clothed clothing computer desk feline fur girly headphones hoodie inside jailbird leaning leaning_back legwear liam looking_at_viewer looking_back male mammal reclining sitting smile socks solo tan_fur

Rating: Safe
Score: 106
User: Onii-chan
Date: May 09, 2014

Thank you! This would be a great feature.


This would be awesome, a thumbnail for flash would be a great addition even if the user has to manually upload a thumbnail, :D


I'd say it was best if flash and animation thumbnails were changeable by community in same way as tags.

Make another picture storage on e6, users could take a screenshot, resize it, add a ribbon (if its not automated), drop into thumbnail storage and done.


I'm for it as long as there's something still indicating it's a Flash regardless of the thumbnail.


Looks like the appropriate icon for indicating 'flash' would be a slanted f ; either white f on red bg or vice versa.

Here's a little 16x16 icon I put together.


savageorange said:
Looks like the appropriate icon for indicating 'flash' would be a slanted f ; either white f on red bg or vice versa.

Here's a little 16x16 icon I put together.

Why does that matter? The thumbnail already says "Flash". The request is for a still image that represents the content of the swf.


Lance_Armstrong said:
Why does that matter? The thumbnail already says "Flash". The request is for a still image that represents the content of the swf.

The point was to still differenciate the content after they get working thumbnails and the best way to do that is to include small icon over the thumbnail.

Which would also be great for gif and apng content as well.


Mario69 said:
The point was to still differenciate the content after they get working thumbnails and the best way to do that is to include small icon over the thumbnail.

Which would also be great for gif and apng content as well.

Can our system detect if gifs and png's have layers?


Yes, if, and the keyword here is if, this gets added, there will be a ribbon or type symbol shown on the image, such as: https://snapshots.softhyena.com/ca23ecdef8987bf262d4cf1bcc0e0605.png

Mario69 said:
The point was to still differenciate the content after they get working thumbnails and the best way to do that is to include small icon over the thumbnail.

Which would also be great for gif and apng content as well.

apng is a non-www format and makes me cry.

Furrin_Gok said:
Can our system detect if gifs and png's have layers?

Gifs cannot have layers, but if you mean how many frames/duration, a pending change is coming to add this! (except not for apng)


Chaser said:
Gifs cannot have layers, but if you mean how many frames/duration, a pending change is coming to add this! (except not for apng)

The whole reason animated gifs work is that they do have "layers." This is what image editing programs will refer to the "Frames" as, is "Layers."

Unfortunately, a symbol for an APNG won't be possible if it cannot recognize it as having more than one frame, unless you look specifically for the apng tag to add it.


Furrin_Gok said:
The whole reason animated gifs work is that they do have "layers." This is what image editing programs will refer to the "Frames" as, is "Layers."

Yes, but this is just because layers are an ok way to express simple, 'one image per frame' animations, not because layers -are- frames. GIF frames can be used in the manner of layers , but they only share one feature with actual layers (the concept of transparent pixels)

This fallacy is made quite clear when you look at programs with proper animation support, where each frame can have multiple layers. (Flash, GIMP-GAP, Asesprite, TVPaint, etc.).
In some cases, these layers are even shared between frames.

Unfortunately, a symbol for an APNG won't be possible if it cannot recognize it as having more than one frame, unless you look specifically for the apng tag to add it.

Not sure what you mean here? APNGs can be distinguished by the presence of acTl, fcTl, and fdAT chunks . Because of the chunked structure of PNGs, it's easy for any system that can read binary data and seek through a file [1] to quickly scan for these, without any libraries needed. Simplest approach would probably be to just check for 1 fdAT chunk (implying APNG + at least 2 frames total)

[1] ie. pretty much any non-toy language.

GIFs are less easy to hack support for -- you have to check for the presence of >1 Graphic Control Extension blocks , which is also possible without any support libraries, but a little more hairy since GIF structure is more minimal.