DVswitch/ inputs

firewire device (dv cam or twinpact)

dvsource-dvgrab - collects parameters from command line and config files, connects stdout to dvswitch, shells out to dvgrab which sends dv stream to stdout, thus dvswitch.

The use running dvsource-dvgrab will need read/write permission on the /dev/raw1394 node. This can be done by putting both in the video group:

# /etc/udev/rules.d/91-permissions.rules 
# ieee1394 devices
KERNEL=="raw1394", GROUP="video"

$ sudo adduser juser video

file

dvsource-file - connects to dvswitch, reads from a file, sends to dvswitch.

v4l2 device (like a webcam):

modprobe vivi (virtual v4l driver, everyone has it, kinda good for testing.)

ffmpeg -f video4linux2 -s vga -r 25 -i /dev/video0 -f s16le -ar 48000 -ac 2 -i /dev/zero -target pal-dv - | dvsource-file /dev/stdin

(replace 'pal-dv' by 'ntsc-dv' if wanted. Note that -r25 is wrong for ntsc, has to be something like -r30 or some such)

the bits between '-f s16le' and '/dev/zero' (inclusive) are only necessary to produce an empty audio track, which the dvswitch development branch requires ATM. You don't really need it for the stable branch.

grabbing X11 screen:

ffmpeg -f x11grab -s 1024x768 -r 29 -i :0.0 -target ntsc-dv -y - | dvsource-file /dev/stdin

vnc

Run a vnc server on the presenters laptop. disable mouse and keybord - just need to view the screen, not control the box.

Run a vnc client on another box. client outputs a video stream that gets converted to dv and sent to dvswitch. The parts exist, someone needs to assemble them.

audio over Ethernet

(not really DVswitch, but close enough)

arecord -t raw -f S16_LE -r 48000 -B 10000 -c 2 | nc ...
nc -l -p ... | aplay -t raw -f S16_LE -r 48000 -B 10000

This does not work well enough - too many buffer under/over runs. netjack seems to be the way to go.