Loading...
This is Tikiwiki v1.10 (CVS) -Arcturus- © 2002–2007 by the Tiki community - Contact
This is a logo
Welcome to ThisCoW !
Last Images
blueproximity-pref.png

gnome-phone-manager-pref.png

gnome-phone-manager-send.png

puredata-vj

Print
Linux Pure Data installation for realtime video mixing

Introduction

This documentation is a compilation of notes written while compiling externals for puredata on Linux (Debian and Gentoo) and is mainly focusing on real time video mixing.

Table of contents


Warnings : Caedes thinks that : "it's not a good idea to compile things when debian packages are available because it'll get people in trouble and they might break their system. This kind of articles tends to get old" and he's right ! :) There is not really needs to compile but it's a good way to understand the way the system is working and evolving.

General advices

debian / ubuntu
Use Caedes packages, add this to /etc/apt/sources.list
deb http://sindominio.net/~caedes/debian/ unstable main

or

Use PD extended
http://at.or.at/hans/pd/installers.html
(never tested myself)

or

Compile everything :) This doc might be useful. For debian, I used that in /etc/sources.list :
deb ftp://ftp.fr.debian.org/debian/ unstable main contrib non-free
deb ftp://ftp.nerim.net/debian-marillat/ sid main

gentoo
have a look to the gentoo PD overlay :
http://pd-overlay.sourceforge.net/

or

Compile everything :) This doc might be useful

or

nag me so i release my gentoo ebuilds


Requirements (to be completed with ldd on externals and pd binaries)

  • gcc, autoconf, automake, cvs and Co :)
  • tcl/tk libraries (tk8.4-dev and tcl8.4-dev)
  • jack and Alsa dev stuff (libjack0.100.0-dev, libasound2-dev)
  • libgsl-dev, libpng-dev, libquicktime-dev, libsdl-dev

Commons compilation problems

  • -Werror is often used in the makefiles. I'm just removing it :)
  • -fPIC (is sometimes needed on amd64)
  • pd headers

mkdir $PD_HOME

  • It will refer to the directory where you'll compile pd and externals (ex: /home/erwan/PD)

Read docs

  • available in /usr/local/lib/pd or /u

Launch PD !

Launch PD
Default PATH (/usr/local/lib/pd/extra/ or /usr/lib/pd/extra/
or 
.pdrc

ex :
pd -lib pdp -lib pidip

If you get such things :
pdp_yqt
 ... couldn't create

Launch PD with options :
pd -noloadbang -nogui <your_patch.pd>


PD and some externals from CVS

Get puredata from CVS
cd $PD_HOME
cvs -z3 -d:pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data co -P pd
cd pd/src 
autoconf && ./configure --enable-alsa --enable-jack && make && make install

Get the externals from CVS
cd $PD_HOME
cvs -z3 -d:pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data co -P externals

Compile and install playlist
cd $PD_HOME/externals/unauthorized/playlist
make
cp playlist.pd_linux /usr/local/lib/pd/extra/
cp help-playlist.pd /usr/local/lib/pd/doc/5.reference/

Compile and install coutund
cd $PD_HOME/externals/unauthorized/countund
make
cp countund.pd_linux /usr/local/lib/pd/extra/
cp countund-help.pd /usr/local/lib/pd/doc/5.reference

PDP from darcs

homepage : http://zwizwa.fartit.com/pd/pdp/

darcs get --partial http://zwizwa.goto10.org/darcs/pdp-12
cd $PD_HOME/pdp-12
./configure && make && make install

If you have a webcam that use the forked and free PWC driver, you might have to patch PDP because it's still using the old pwc's v4l API, you'll have to compile it without this old stuff (or will get some strange behaviour... 27 fps detection for example, you'll get some flickering) :

in pdp/modules/image_io/pdp_v4l.c
- Comment out (by adding // to the start of the line) lines 49-52, 188-247 and 488-489.
- Edit lines 781 and 782 with your preferred default width and height.
- ./configure (without any options) && make
(tips found here : http://attacksyour.net/piki/WebCamOsx)

setup pdp opengl extension :
$PD_HOME/PD/externals/pdp/opengl%

Change Makefile.config
PD_DIR = /home/erwan/PD/pd/src
PDP_DIR = /home/erwan/PD/pdp/include
PDP_OGL_DIR = /home/erwan/PD/pdp/opengl/include

make
cp pdp_opengl.pd_linux /usr/local/lib/pd/extra/
$PD_HOME/pdp/opengl# install -m 644 abstractions/*.pd /usr/local/lib/pd/extra

btw... not able to run some examples (03,04,05...)
freeglut ERROR: Function <glutSolidTorus> called without first calling 'glutInit'.

This problem can be fixed by using an older freeglut package like this one : freeglut3_2.2.0-8_i386.deb

pidip from HTTP

homepage : http://ydegoyon.free.fr/pidip.html

tar xzvf pidip...

get and compile ffmpeg :
$PD_HOME/pidip% cvs -z9 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co ffmpeg
$PD_HOME/pidip/ffmpeg% ./configure --enable-mp3lame --enable-libogg --enable-vorbis
--enable-theora && make

configure and compile pidip :
$PD_HOME/pidip% ./configure --with-pd=$PD_HOME --with-pdp=$PD_HOME/externals/pdp
--with-ffmepg=$PD_HOME/pidip/ffmpeg

$PD_HOME/pidip% make && make install
(delete CVS directories in fonts and docs or it won't be installed correctly)
bzh:/home/erwan/PD/pidip# cp pidip.pd_linux /usr/local/lib/pd/extra/

GEM from CVS

libgltt2 libgltt2-dev libavc1394-dev libdc1394-13-dev and libttf-dev are needed


mkdir gem && cd gem
cvs -d:pserver:anonymous@pd-gem.cvs.sourceforge.net:/cvsroot/pd-gem login
cvs -z3 -d:pserver:anonymous@pd-gem.cvs.sourceforge.net:/cvsroot/pd-gem co -P Gem
cvs -z3 -d:pserver:anonymous@pd-gem.cvs.sourceforge.net:/cvsroot/pd-gem co -P GemLibs?
cd Gem
autoconf && ./configure && make

Lib-mpeg prob :
I had to change the path on gentoo
erwan@menhir ~/PD/gem/Gem/src $ grep -r libmpeg3.h *
Pixes/filmMPEG3.h:#include <libmpeg3.h>
to
Pixes/filmMPEG3.h:#include "/usr/include/libmpeg3/libmpeg3.h"

The -fpic syndrom in mpeg-lib (add -fPIC to the makefile if you are using amd64) :
/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libmpeg.a(wrapper.o): relocation R_X86_64_32? against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/lib64/libmpeg.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** Gem.pd_linux Error 1

I'm using ffmpeg 0.4.9_p20070330 or i'm getting :
erwan@menhir ~/PD/gem/Gem/src $ pd -lib Gem -nogui
/home/erwan/PD/Gem/src/Gem.pd_linux: /home/erwan/PD/Gem/src/Gem.pd_linux: undefined symbol: img_convert
Gem: can't load library

DV problem with pix_video :
erwan@menhir ~/PD/externals/gem2pdp $ pd -nogui -lib ../../gem/Gem/src/Gem -lib pdp -lib pdp2gem
/dev/ieee1394/dv/host0/PAL/in: Is a directory

so, on gentoo, you have to create the device (i have to play around with udev) :

mkdir -p /dev/ieee1394/dv/host0/NTSC
mknod -m 666 /dev/ieee1394/dv/host0/NTSC/in c 171 32
mknod -m 666 /dev/ieee1394/dv/host0/NTSC/out c 171 33
mkdir -p /dev/ieee1394/dv/host0/PAL
mknod -m 666 /dev/ieee1394/dv/host0/PAL/in c 171 34
mknod -m 666 /dev/ieee1394/dv/host0/PAL/out c 171 35



Created by: r1. Last Modification: Monday 03 of December, 2007 22:56:32 CET by r1.


RSS feed Wiki RSS feed Blogs RSS feed Image Galleries RSS feed File Galleries RSS feed Directories