<html xmlns="http://www.w3.org/1999/xhtml">
<head>
-<title>DVswitch - Ben Hutchings - LCA2011</title>
+<title>Making great conference videos on a budget - Ben Hutchings - LCA2011</title>
<!-- metadata -->
<meta name="generator" content="S5" />
<meta name="version" content="S5 1.1" />
</div>
<div id="footer">
<h1>LCA2011</h1>
-<h2>DVswitch</h2>
+<h2>Making great conference videos on a budget</h2>
</div>
</div>
<div class="presentation">
<div class="slide">
-<h1>DVswitch</h1>
+<h1>Making great conference videos<br />on a budget</h1>
<h3>Ben Hutchings</h3>
</div>
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.
+ Primarily designed for free software conferences:
+ <ul class="incremental">
+ <li>
+ Record and stream for maximum community benefit
+ </li>
+ <li>
+ Budget is usually quite limited
+ </li>
+ <li>
+ We have eager volunteers but not much time to train them
+ </li>
+ </ul>
+ <li>
+ 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
+ Mixing is <em>live</em> - required for streaming, and avoids
+ 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
+ Mixing is <em>interactive</em> - required for good coverage of
+ presenters, audience and slides; very limited in other
streaming software
</li>
</ul>
A general video editor
</li>
<li>
- An audio mixer (but it does implement audio dubbing and level monitoring)
+ An audio mixer - audio functionality is limited to dubbing and
+ level monitoring
</li>
<li>
A complete recording and publishing system
<div class="slide">
<h1>The 'DV' in DVswitch</h1>
<p>
- The name refers to the DV formats used by many video cameras:
+ The name refers to the DV format used by many video cameras:
</p>
<table>
<tr>
<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>
+ <object data="dvswitch-simple.dia.svg" width="90%"></object>
+ <div class="handout">
+ <p>
+ This is a simplified view of the typical components. The system
+ is completely flexible as to which sinks and sources are used.
+ </p>
+ </div>
</div>
<div class="slide">
</ul>
</li>
</ul>
+ <div class="handout">
+ <p>
+ DIF is the DV Interchange Format, sometimes referred to as 'raw
+ DV' although it is a container format in its own right.
+ </p>
+ </div>
</div>
<div class="slide">
</div>
<div class="slide">
- <h1>Mixer</h1>
- <object data="screenshot-1.png" width="50%"></object>
+ <h1>Mixer UI</h1>
+ <object data="screenshot-1.png" width="70%"></object>
+</div>
+
+<div class="slide">
+ <h1>Mixer UI, annotated</h1>
+ <object data="screenshot-1-annotated.xcf.png" width="70%"></object>
+</div>
+
+<div class="slide">
+ <h1>Mixer internals</h1>
+ <object data="dvswitch-internal.dia.svg" width="95%"></object>
+ <div class="handout">
+ <p>
+ To simplify the diagram, I omitted connection setup, tally light
+ and recording control, and the internal sinks that haven't been
+ implemented yet.
+ </p>
+ <p>
+ All these interfaces have limited-length queues. If a queue
+ fills up, frames have to be dropped - we must not block or use
+ unlimited memory!
+ </p>
+ <p>
+ The mixer clock thread maintains a frame clock at about 25 or
+ 30 Hz depending on the video system, constantly adjusted to
+ follow the audio source.
+ </p>
+ </div>
+</div>
+
+<div class="slide">
+ <h1>Icecast streaming server</h1>
+ <ul class="incremental">
+ <li>
+ Simple HTTP streaming server supporting MP3, Ogg Vorbis and
+ Ogg Theora streams
+ </li>
+ <li>
+ Each stream is provided by an authenticated source client or
+ relayed from another server
+ </li>
+ <li>
+ Relaying allows you to build a distribution network serving
+ viewers inside and outside the conference
+ </li>
+ </ul>
+</div>
+
+<div class="slide">
+ <h1>Icecast distribution network</h1>
+ <object data="streaming-network.dia.svg" width="70%"></object>
+ <ul>
+ <li>
+ Internal master serves internal viewers and external master
+ </li>
+ <li>
+ Public servers serve viewers anywhere
+ </li>
+ <li>
+ Relaying restricted by password and/or firewall
+ </li>
+ </ul>
</div>
<div class="slide">
- <h1>Mixer</h1>
- <object data="screenshot-1-annotated.png" width="50%"></object>
+ <h1>Further information</h1>
+ <ul>
+ <li>
+ DVswitch
+ <ul>
+ <li>Web: <a href="http://dvswitch.alioth.debian.org">http://dvswitch.alioth.debian.org</a></li>
+ <li>Mail: <a href="mailto:dvswitch-devel@lists.alioth.debian.org">dvswitch-devel@lists.alioth.debian.org</a></li>
+ <li>IRC: #dvswitch on OFTC</li>
+ </ul>
+ </li>
+ <li>
+ Icecast: <a href="http://www.icecast.org/">http://www.icecast.org/</a>
+ </li>
+ </ul>
</div>
</body>