[Broken in Scratch3] Pen Vid-player +Pokemon & Dr Who demos

8,926
0
Publicado 2015-10-18
***NOTE*** This project doesn't work in Scratch 3 due to use of a 'hacked' block (that was fine in Scratch 2).
It also doesn't work correctly in forkphorus (due to the buttons not coming in front of the Ask-and-wait box).
It doesn't even work in s2online, since that seems to corrupt unicode characters (which this project uses).
<>
***HOWEVER: if you have the Scratch 2 standalone app, you can use https://forkphorus.github.io/sb-downloader/ to get an sb2 file that you can open in the standalone app. :)
The project below *does* still work in forkphorus:
== STAR WARS Ep.7 special edition *with sound* ==
=== https://scratch.mit.edu/projects/83967960/ ===
Go to: https://forkphorus.github.io/#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.
Enjoy!

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. :)