[ DRAFT! ] * Live multi-camera production with dvswitch * - Using only regular computers, ethernet and DV cameras - Herman Robak Dvsource firewire Dvsource firewire captures DV video from a DV camera (or scan converter) over an ieee1394 port. It runs non-interactively, and can be left running for the whole recording session. The CPU and I/O load is modest; any old machine with a firewire port will suffice for dvsource-firewire. The machine may be headless (no screen or keyboard, just network). Dvsource firewire invokes the program "dvgrab" to capture video through the firewire port. The computer must have a ieee1394 stack that is supported by dvgrab for this to work. On Debian Etch the default kernel has the old raw1394 interface, which is well supported. If you use Lenny or Sid you may have to make a custom kernel, as the new ieee1394 stack (called "juju") is not fully supported in userspace yet. Dvsource file Dvsource file reads from a DV file, and sends it to a dvswitch. It has a loop option, so a short video can be used as a banner (running infinitely) It is also useful for testing dvswitch if you don't have cameras or firewire controllers. Dvsink Dvsink directs a DV stream (typically from dvswitch) to a file. Dvswitch Dvswitch is the heart of the suite. It is the only part with a graphical user interface, and this is where all the user interaction goes on during a recording. The operator chooses which of the incoming DV streams stall be recorded to disk and/or output to a live stream. Figure: (screenshot) Dvswitch receives multiple DV streams, decodes them in black and white low quality (faster) and scales down the images to preview "thumb nails". One of the streams is decoded in high quality, and is displayed in full size and colour. That is the master stream, which goes to the receiving dvsink. Normally, the decoding is for display only. The master stream is forwarded, as is, to the dvsink. The decoding and display run with lower priority, so dropped frames only affect the display, not the recorded stream. A modest laptop will be fully usable for pass-through operation. However, when "Picture in Picture" is used, dvswitch has to decode _two_ streams in full quality. It also has to recode the new combined image. Since this is no longer pass-through, any dropped frames in the two input decodings and the output recoding will go into the recorded output. To use Picture in Picture a rather powerful computer is needed, like a laptop with two CPU cores. Status Dvswitch's author, Ben Huntchings, classifies dvswitch as alpha software. The dvsource-firewire program is not much more sophisticated than dvgrab and netcat piped together. It uses TCP, not UDP, so network congestion must be avoided. A more capable transport protocol is being researched. A standardised way to send commands to the source is desired, to start/stop capturing and to cue non-live sources like recorded tapes and files. Yet dvswitch is in production use within Debian. The videos from Debconf7 in Edinburgh were produced with dvswitch, and that worked very well. The setup was large, with eight cameras and a dozen computers. Figure: Required hardware * DV video cameras with ieee1394 ("firewire", "iLink") output port. * Computers with ieee1394 ports and an ieee1394 driver stack supported by dvgrab! * Ethernet switch (at least 100 Mbit) or multiple NICs on the dvswitch host. * Dedicated network with ample capacity. Each DV stream has ca. 30 Mbit/s. * Dvswitch computer Recommendations... * Gigabit switch * Scan converter from VGA to DV, for capturing the presenter's computer screen. * Dvswitch computer with two CPU cores.