Boxel is a near real-time pixelator and Minecraft codec.
Boxel pixelates and reduces the color pallete of images, websites and video at up to 24fps.
You can use it to make funky pixelated artwork from existing assets to display wherever you like. By default, Boxel creates a stream of PNG images along with JSON messages that describe the image.
Boxel was built to act as a codec for Minecraft. You can use the data it creates to build boxelized images, websites and video from blocks on a Minecraft server.
We've created a client library that makes it easy to connect Bukkit compatible Minecraft plugins to a Boxel server. Check it out here
Boxel depends on PhantomJS for rendering websites. Installing on OSX with Homebrew is simple:
brew install phantomjs
Boxel expects to connect to Phantom remotely, so you should start it as below:
/usr/local/bin/phantomjs --webdriver=8910
We recommend using this Docker image to install and run your Phantom instance: wernight/phantomjs
Boxel requires Redis to send video data over PUB/SUB channels. Redis can be installed via your package manager of choice:
# homebrew again
brew install redis
# or apt-get
sudo apt-get install redis-server
Finally, Boxel requires a WAMP router for service discovery. We use crossbar. Crossbar can be installed via pip:
pip install crossbar
After you've installed these dependencies, install boxel like any other Python package:
# using pip
pip install -e https://github.com/VerizonCraft/Boxel.git#egg=boxel
Assuming you've got Redis, Phantom and a Crossbar router running you should be able to start the Boxel service like so:
# substitute the correct host/port for your redis server and crossbar router
boxel -W 50 -C palettes/5bit.yml video -R redis://localhost:6379/0 -U ws://localhost:8080/ws
The best place to start with Boxel is probably the demo app.
It provides docker containers for PhantomJS, Crossbar, Boxel, Redis, and an example web front-end that will get you a Boxel service with just a few commands.
See Boxel-client for examples of video and website rendering in Minecraft.
If you'd like to contribute, check out the contributing guidelines
This repository and its code are made available under a BSD 3-Clause license, which can be found here.