--- /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>