RasPiVJ

A long lasting idea (first occurence was during residency of the Metahub Nuit Blanche in Brussels) trying to come to life out of necessity.

Concept: use the Raspberry Pi as a lightweight, portable, plug and play VJ plateform

Sure, why not. It's cheap, small, has RCA or HDMI output, can play h264 HD videos, works already well as a media center,…

A lot of credit has to be given to PocketVJ which has opened my eyes on the web interface to control the videos and by showing the way to do things.

Concept

The system consists of a video player with functionnalities usefull for VJing (crossfade between videos, fade to/from black, some “overlay” filtres,…) and an interface that can be accessed from any browser (for the versatility of tools that can connect to the Raspberry Pi).

After connecting the RasPiVJ to a screen and power supply, the whole system starts on boot. The VJ then connects via Wifi or RJ45 to the Raspberry with a laptop, a tablet or a phone to access the interface and start plaing videos.

Features:

Videos play in loop

Crossfade or cut between two videos

Fade to/from black

A grid of thumbnails displays the list of videos available. A click on a thumbnail selects and playx the video.

Plays videos up to 720p, but for better reactivity, better stay slightly under a PAL format

Planned features:

Create and run playlists

“orverlay” filters and effects like darken, lighten, color burn, greyscale, red, green, blue,…

Manage videos (upload, remove, etc…)

Specs

oF

The setup involve a custom application developped in openFrameworks. It uses ofxOMXPlayer addon to display two video as a textures (this provides the ability to crossfade between the two textures and have seamless loop) and ofxOsc for communication with the web interface.

Node

A webserver pushed by nodejs with modules:

express

socket.io

osc

Download

All files will be published on http://github.com/xuv/RasPiVJ

References

Projects that already exist and other related tools.

Super Pikix Pi

A full featured VJ software by the great Pikilipita

http://www.pikilipita.com/superpikixpi/

Free, but not open source

Own codec (kouky .k19) and converter for Win or Mac only

Clips limited to 250 frames @ 25fps, 640×360

Playlist based, some overlay effects,…

Pocket VJ

http://pocketvj.com/

Can sync multiple Raspis

Web interface

Can play HD videos

Can play from usb key

openFrameworks + ofxOMXPlayer

The oF toolbox ported to Raspberry Pi and its addon to use the OpenMAX video capabilities with it.

http://www.openframeworks.cc/setup/raspberrypi/Raspberry-Pi-Getting-Started.html

https://github.com/jvcleave/ofxOMXPlayer

FFMPEG

ofxOMXPlayer works best with h264 videos with sound. Since I don't need sound, here's a command to add silence to a video. The parameters have to be in that order (especially for the mapping). If you already have an audio channel in your source video, it's better to not do any compression on the video codec (-vcodec copy) while swapping the existing audio channel with the silent one. If you don't have any prior sound, you can do video and audio compression at the same time.

ffmpeg -ar 48000 -ac 2 -f s16le -i /dev/zero -i video.mp4 -shortest \
-vcodec copy -acodec pcm_s16le -map 1:v -map 0:a output.mov

ffmpeg -ar 48000 -ac 2 -f s16le -i /dev/zero -i video.mp4 -shortest \
-s 1024x768 -vcodec libx264 -b 2000k -acodec pcm_s16le \
--map 1:v -map 0:a output.mov

ffmpeg -i video.avi -s 1024x768 -vcodec libx264 -b 2000k \
-acodec pcm_s16le output.mov

It's /dev/zero that produces silence.

pyomxplayer

Python wrapper module around OMXPlayer for the Raspberry Pi.

https://github.com/jbaiter/pyomxplayer (pexpect)

https://github.com/KenT2/pyomxplayer (FIFO)

NodeJs

To install the latest version of NodeJS:

wget http://node-arm.herokuapp.com/node_latest_armhf.deb
sudo dpkg -i node_latest_armhf.deb

MeteorJs

A NodeJS framework. Requires Mongodb

Install Mongodb without compiling

Wifi Access Point

hostapd set up

This link has complementary information