DVswitch/ large meeting

About this document

Written June 2009 for DVswitch Version 0.8.2

This is meant for people who are familiar with DVswitch. It includes hardware requirements, hooking up the hardware, running the software to record an event. It does not cover the post processing. It should be read start to finish along with assembling and running the software before a live event.


Recording a large user group meeting. This is roughly the same setup as what was used at PyCon 09 for tutorials. The main difference is instead of the TwinPact100 being near the director (which requires 50' VGA cables) it and a 2nd laptop is placed near the presenter's laptop or projector, and thus can use the 3' VGA cable that comes with the TwinPact100 and a 50' cat 5.

Presenter will be at the front of the room, using their own laptop. It is expected that the venue will include the VGA projector, screen and cable, and a sound system for the audience to hear the presenter. This document does not cover interconnecting that sound system with the recording process. It will seem odd to have 2 mics for the speaker to talk into, but it works.

Somewhere other than right in front will be the recording table.

This can all be done with one person, but 2 is ideal. A 3rd person to run the camera is nice luxury.






Front of room

TwinPact100 placement:

The TwinPact100 needs to be connected between the presenters laptop and the projector. It is not recommended to use the projector's output because that may cause both the projected and recorded image to be washed out. It is preferable to put the it near the projector so that there is less clutter in the presenters area. If you plan on using its remote, then make sure you have line of site from where you will be sitting (and take into account that people will come in and sit for the meeting.) The 2nd laptop can sit under the twinpact100, or somewhere close enough for the firewire cable. It is good to have a power strip given you will have presenters laptop, video laptop, twinpact and projector.

Presenter Mic

It needs to be isolated from things the presenter may be touching, like the table his laptop is on. The closer to the mouth the better, but it should not be in the way of the presenters laptop, and it's good to keep it from blocking the mouth from the camera.

Audience Mic

It needs to be near the front of the room so that when people talk at the presenter they are also talking towards the audience mic.

Recoding Table

The main goal is good camera placement. You don't want to block other peoples view. You do want to be above peoples heads that are between the camera and the presenter. You want to be able to zoom out so you don't have to adjust the camera every time the presenter moves just a little. You do want to be able to zoom in on his face. The more a camera is zoomed, the more light is needed for the same quality, and things start to look odd. I find 30' is a good distance.

Set up the mixer and the dvswitch laptop on the table. These should be close to each because the line level connection between the two is subject to interference, so the shorter the better. Also if only one person is operating everything, then they should both be in reach.

Cables from Front: 1 cat 5 ethernet into laptop (or hub if neither laptop does auto-negotiation of send/recieve) and 2 XLR mic cables into the mixer.

Camera trained on the presenter, firewire to laptop.

Audio from mixer into laptop's audio in, (or usb audio device)

Sound check:

launching the DVswitch components

Open 5 terminal windows. Size them to about 5 lines high and stack them on top of each other so you can see the output. (this is crude, but is best for seeing what is going on. A more streamlined procedure will be shown later.) In each window, run the following commands:

$ dvswitch

DVSwitch UI should appear.

$ dvsource-dvgrab
INFO: Reading from Firewire card 0
INFO: Connecting to
Capture Started

A source should appear on the DVSwithc UI, showing what the camera is pointed at.

ssh into a shell on the slave system, run the same command:

$ dvsource-dvgrab
INFO: Reading from Firewire card 0
INFO: Connecting to
Capture Started

A 2nd source should appear on the DVswitch UI, showing the VGA stream from the TwinPact100.

$ dvsource-alsa -s ntsc -r 48000 hw:1 -h gw42
INFO: Capturing from hw:1
INFO: Connecting to

A 3rd source should appear on the DVSwithc UI, showing a black screen (there is no video, just audio)

$ dvsink-files user_group
INFO: Connecting to

On the dvswitch UI, select the 3rd stream's audio, and hit the record button. Under dvsink-files you should see:

INFO: Started recording
INFO: Created file user_group-1.dv

Another Sound check:

Clap and bring up master faders until meeter on dvswich is maxing out about -6db. Now everything is setup and recording. use dvswitch to switch between streams, and hit Cut to start a new file.


Tell the event host you are ready to go. (typically they will be waiting on you.)

Hit the Cut button every time there is a transition between junk and content. Only hit the Record button when it is 100% obvious the event is over, basically when you are ready to shut everything down.

Use your artistic judgment to figure out when to select the camera or VGA stream, or when to use Picture-n-Picture. It helps to have watched a few videos produced with dvswitch to get an idea of what is nice and what is annoying.

When the event is over, close dvswitch and all of the clients will disconnect and shutdown.


Now you have files that are almost ready to distribute. See MeetingUpload for one possible way of distributing them.


No Video

Plug in the camera firewire, run dmesg, you should see something like:

[  122.560956] ieee1394: Current remote IRM is not 1394a-2000 compliant, resetting...
[  122.849351] ieee1394: Node added: ID:BUS[0-00:1023]  GUID[008088030a613f59]
[  122.849471] ieee1394: Node changed: 0-00:1023 -> 0-01:1023
[  122.932016] ieee1394: raw1394: /dev/raw1394 device initialized
[  122.953545] NOTE: The dv1394 driver is unsupported and may be removed in a future Linux release. Use raw1394 instead.

Don't worry about “driver is unsupported” - it gets loaded but not used, so it can go away without any problem.

What is important is “Node added/ Node changed” - if you don't see that, you need to figure out why.

Make sure you have read access to the device node: