WEBM will appear in the list of formats in the Queue tab. ~/Library/Application Support/Adobe/Common/Plug-ins/7.0/MediaCoreĪfter the plug-in is installed. Here is a modified version of a plug-in by fnord software that you can install to render your videos with Media Encoder.Ĭ:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore Encoding with Adobe Media EncoderĪdobe’s Media Encoder requires a plug-in to support. Programs like Handbrake or ffmpeg natively support. You can design your animation in your preferred app – but depending on the app’s export settings, you may need an encoding program to create the final file. Video size should not exceed 256 KB after encoding.Video should be looped for optimal user experience.For emoji, the resolution must be exactly 100x100 pixels.For stickers, one side must be 512 pixels in size – the other side can be 512 pixels or less.Video must be encoded with the VP9 codec.Video Requirements for Stickers and Emoji It's pretty old and messy but I think with a little refactoring it can be worked in cleanly.WEBM video format allows anyone to easily create high-detail animations for stickers and emoji that users can send and share instantly in Telegram. I've been looking at the file upload code in app/models/upload.rb. This brings back the issue that Danbooru is designed to just download the file as-is without changing it so it's tricky to work something like that in. Meaning we'd be modifying the file at upload-time still. It'd just be a matter of generating those files when thumbnails are generated, then linking to them where the "Save this video (right click and save)" link currently is. It'd also be easy to add an option to download ugoira as webm / apng / gif. What I'd really like is for Danbooru to support ugoira natively, and use the conversion for generating webm thumbnails and sample images.
Which is important since the zip files can be very large. The cool thing about it is it supports progressive playback, so it can start playing the animation before the zip is fully downloaded. I'm using Pixiv's official ugoira player (available here: ) for rendering and it works nicely. I'll post my branch when it's in a usable enough state to test. I'm trying out this approach right now and I have it partially working. It would be a new file extension and the presenter would know to decompress the file and slideshow them. However, it's another story if there are delays of less than 10 ms, because I have no idea how gif handles/should handle 0ms delay. Also, I doubt that html5 canvas animation guarantees delays up to 1ms. Rounding up sum of delays: 0-30-70-100-130-170-200, meaning frame delays inside gif would go like 30-40-30-30-40-30.ĥms difference should invisible to human eye, it would only show up after several gif loops, which I wouldn't call critical. It's possible to reduce the error to +/-5ms if you store sum of all delays up to current frame, then calculate current frame delay as round(current_frame_sum) - round(previous_frame_sum).įor example, consider 7 frames with 33ms delay each. That means we can't use gifs at all for ugoira in which the delays are more accurate than that. Well, there should be other means of creating apng. No, actually that was the first hit in google upon "ruby apng". There also seems to be a gem which allows merging png sequences into apng file.Īre you sure that gem is production ready? It doesn't seem to have any documentation or examples so we'd have to guess at how to use it. Imagemagick seems to be able to convert the individual jpgs to gif, but unable to do so with apng. The last option could be replace with a page allowing multi-upload, but that seems a bit too complex. Ask user whether he wants th merge the images into a gif, apng or to download the archive and upload individual images manually.Extract the zip and delays from the source.Understand that the given source URL contains ugoira.It sounds like a task for a server-side script, which ideally could work like that: It's possible to get the source zip file and frame delays by parsing the page/via userscript, but user still has to put the images together into apng/gif manually, possibly messing up the order, or delays, or generally lowering the image quality due to incorrect saving. See for details about this pixiv feature.