Pen Vid-player +Pokemon & Dr Who demos
== STAR WARS Ep.7 special edition of Vid-Player *with sound* ==
======== https://scratch.mit.edu/projects/83967960/ ========
This is a pen-based video player for Scratch.
Movies are loaded by pasting encoded frames into the Ask box that appears when you click the "Load video" button.
I will add a couple more videos in the forum topic linked below:
• More vids: https://scratch.mit.edu/discuss/topic/160886/
There are two demo videos included:
1) Pokemon Intro - this was used in a couple of previous pen-based players, so I thought I'd follow suite :)
[ Original : https://www.youtube.com/watch?v=qyXTgqJtoGM ]
2) Doctor Who Intro - this is a fan-made intro for the popular TV sci-fi series, and I thought it had some different enough properties to the pokemon vid above to make it a nice complementary demo.
[ Original: https://www.youtube.com/watch?v=IACAV_CPpWo ]
NOTE 1: you may need a good computer to view at 'high quality'.
NOTE 2: No, there's no sound with the vids... ;P
Kudos to @MartinBraendli and @Finlay_Cool for their inspiration.
How It Works & How you can create your own videos
I wanted to make a player that could manage a higher resolution and quality of image by drawing as few horizontal lines of the same colour within a scan-line as possible.
That seemed to imply some kind of run-length encoding (RLE), so I set about writing a python script that could encode a series of PNG images like that, by lumping together similar colours in a line as much as possible, as well as reducing the overall number of colours used in a batch of frames of the video.
The python script is included inside the project within a comment window, so you can use it yourself to encode your own movies.
The colour-reduction algorithm I made is rather slow in python, so it takes quite a while to run this script on a substantial number of image frames. Take note of the instructions on how to use it!
The script outputs the encoded frames to standard out (i.e. the terminal), so you have to redirect it to whatever file you want.
Also within a comment in the project is a short python script I made which splits an encoded output into chunks with size less than 200000 characters - that's the max size allowed for a post in the forums, so you can use this script to create just the right size encoded data for posting. :)