--- /dev/null
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
+       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<title>DVswitch - Ben Hutchings - LCA2011</title>
+<!-- metadata -->
+<meta name="generator" content="S5" />
+<meta name="version" content="S5 1.1" />
+<meta name="author" content="Ben Hutchings" />
+<!-- configuration parameters -->
+<meta name="defaultView" content="slideshow" />
+<meta name="controlVis" content="hidden" />
+<!-- style sheet links -->
+<link rel="stylesheet" href="s5-blank/ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
+<link rel="stylesheet" href="s5-blank/ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
+<link rel="stylesheet" href="s5-blank/ui/default/print.css" type="text/css" media="print" id="slidePrint" />
+<link rel="stylesheet" href="s5-blank/ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
+<!-- S5 JS -->
+<script src="s5-blank/ui/default/slides.js" type="text/javascript"></script>
+</head>
+<body>
+
+<div class="layout">
+<div id="controls"><!-- DO NOT EDIT --></div>
+<div id="currentSlide"><!-- DO NOT EDIT --></div>
+<div id="header"></div>
+<div id="footer">
+<h1>LCA2011</h1>
+<h2>DVswitch</h2>
+</div>
+
+</div>
+
+
+<div class="presentation">
+
+<div class="slide">
+<h1>DVswitch</h1>
+<h3>Ben Hutchings</h3>
+</div>
+
+
+<div class="slide">
+  <h1>What is DVswitch?</h1>
+  <ul class="incremental">
+    <li>
+      A software system that supports video mixing, recording and streaming
+    </li>
+    <li>
+      Designed particularly for the needs of technical conferences that
+      want to record and stream on a limited budget.  Now used more
+      widely, often without streaming.
+    </li>
+    <li>
+      Mixing is <em>live</em> - a requirement for streaming, and a way to
+      avoid the need for extensive editing after the event
+    </li>
+    <li>
+      Mixing is <em>interactive</em> - a requirement for good coverage of
+      presenters, audience and slides, but very limited in other
+      streaming software
+    </li>
+  </ul>
+</div>
+
+<div class="slide">
+  <h1>What is DVswitch <em>not</em>?</h1>
+  <p>
+    There are limited developer resources and limited goals for
+    DVswitch.  It is never intended to be:
+  </p>
+  <ul class="incremental">
+    <li>
+      A general video editor
+    </li>
+    <li>
+      An audio mixer (but it does implement audio dubbing and level monitoring)
+    </li>
+    <li>
+      A complete recording and publishing system
+    </li>
+  </ul>
+  <p class="incremental">
+    These are all better handled by other software and
+    hardware.
+  </p>
+</div>
+
+<div class="slide">
+  <h1>The 'DV' in DVswitch</h1>
+  <p>
+    The name refers to the DV formats used by many video cameras:
+  </p>
+  <table>
+    <tr>
+      <th>Profile</th><th>Specification</th><th>Video codec</th><th>Supported</th>
+    </tr>
+    <tr>
+      <td>Basic DV</td><td>IEC 61834</td><td>DV 25</td><td>yes</td>
+    </tr>
+    <tr>
+      <td>DVCAM</td><td>Sony proprietary</td><td>DV 25</td><td>probably</td>
+    </tr>
+    <tr>
+      <td>DVCPRO</td><td>SMPTE 314M</td><td>DV 25</td><td>probably</td>
+    </tr>
+    <tr>
+      <td>DVCPRO50</td><td>SMPTE 314M</td><td>DV 50</td><td>not yet</td>
+    </tr>
+    <tr>
+      <td>DVCPRO HD</td><td>SMPTE 370M</td><td>DV 100</td><td>not yet</td>
+    </tr>
+    <tr>
+      <td>HDV</td><td>IEC 61834</td><td>MPEG-2</td><td>no</td>
+    </tr>
+  </table>
+  <p>
+    DV video codecs compress each frame separately (unlike MPEG)
+  </p>
+  <div class="handout">
+    <p>
+      The lack of interframe compression means there is relatively
+      little delay between camera and mixer and we can cut between
+      sources without having to decode all sources all the time.
+      In fact, DVswitch doesn't need to decode even a single source at
+      full frame rate if you just cut between sources without using
+      mixing effects.
+    </p>
+    <p>
+      Unfortunately, most of today's consumer cameras don't have DV
+      output and may not provide live video output at all.
+    </p>
+  </div>
+</div>
+
+<div class="slide">
+  <h1>Overview of the system</h1>
+  <p>
+    A simplified view of the typical components:
+  </p>
+  <object data="dvswitch-simple.svg" width="60%" height="60%"></object>
+</div>
+
+<div class="slide">
+  <h1>Sources</h1>
+  <ul class="incremental">
+    <li>
+      Source types: firewire/USB DV device, ALSA capture device,
+      DIF file
+    </li>
+    <li>
+      Physical sources are spread around room and connected to the
+      mixer via TCP/IP networking
+    </li>
+    <li>
+      Original protocol: mixer runs a network server; sources run as
+      clients and send DIF over TCP
+      <ul class="incremental">
+       <li>
+         Requires a script to coordinate mixer and source startup -
+         an annoying complication
+       </li>
+       <li>
+         Improvement: tally lights
+       </li>
+      </ul>
+    <li>
+      Next release: sources run as RTP/RTSP servers and mixer
+      connects to them as a client
+      <ul class="incremental">
+       <li>
+         No custom scripts required; just configuration files
+       </li>
+      </ul>
+    </li>
+  </ul>
+</div>
+
+<div class="slide">
+  <h1>Sinks</h1>
+  <ul class="incremental">
+    <li>
+      Sink types: DIF files, pipe to arbitrary command
+    </li>
+    <li>
+      Also connected using TCP/IP networking, though this is not such
+      a good idea for recording
+    </li>
+    <li>
+      Original protocol: mixer runs a network server; sinks run
+      as clients and receive DIF over TCP
+      <ul class="incremental">
+       <li>
+         Improvement: sink reports whether it will record; mixer can
+         start, stop and cut recording
+       </li>
+      </ul>
+    </li>
+    <li>
+      Next release: file and pipe sinks built into mixer along with an
+      RTP/RTSP server
+    </li>
+  </ul>
+</div>
+
+<div class="slide">
+  <h1>Mixer</h1>
+  <object data="screenshot-1.png" width="50%"></object>
+</div>
+
+<div class="slide">
+  <h1>Mixer</h1>
+  <object data="screenshot-1-annotated.png" width="50%"></object>
+</div>
+
+</body>
+</html>