xuv's notebook

Side notes, howtos and random bits of information related to Julien Deswaef's projects

User Tools

Site Tools


projects:raspivj

This is an old revision of the document!


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 VJ plateform

Sure, why not. It's cheap, light weight, 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.

Set Up

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

References

Projects that already exist and other related tools.

Super Pikix Pi

A full featured VJ software by the great Pikilipita

  • 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

  • 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.

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.

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

Wifi Access Point

projects/raspivj.1402066543.txt.gz · Last modified: 2014/06/06 16:55 by Julien Deswaef