1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
7 <title>DVswitch - Ben Hutchings - LCA2011</title>
9 <meta name="generator" content="S5" />
10 <meta name="version" content="S5 1.1" />
11 <meta name="author" content="Ben Hutchings" />
12 <!-- configuration parameters -->
13 <meta name="defaultView" content="slideshow" />
14 <meta name="controlVis" content="hidden" />
15 <!-- style sheet links -->
16 <link rel="stylesheet" href="s5-blank/ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
17 <link rel="stylesheet" href="s5-blank/ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
18 <link rel="stylesheet" href="s5-blank/ui/default/print.css" type="text/css" media="print" id="slidePrint" />
19 <link rel="stylesheet" href="s5-blank/ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
20 <style type="text/css">
21 .logo { position: absolute; right: 0; top: 0; height: 100% }
22 table { border-collapse: collapse }
23 th { border-bottom: 2pt solid black }
24 th, td { padding: 0 6pt }
27 <script src="s5-blank/ui/default/slides.js" type="text/javascript"></script>
32 <div id="controls"><!-- DO NOT EDIT --></div>
33 <div id="currentSlide"><!-- DO NOT EDIT --></div>
35 <object class="logo" data="lca2011.svg"></object>
45 <div class="presentation">
49 <h3>Ben Hutchings</h3>
55 <ul class="incremental">
57 Professional software developer since 1998
60 Debian contributor since 2003
63 DebConf video team member since 2005
66 Started the VideoLink and DVswitch projects for use in DebConf
70 Mostly working on kernel stuff
77 <h1>What is DVswitch?</h1>
78 <ul class="incremental">
80 A software system that supports video mixing, recording and streaming
83 Primarily designed for free software conferences:
84 <ul class="incremental">
86 Record and stream for maximum community benefit
89 Budget is usually quite limited
92 We have eager volunteers but not much time to train them
96 Now used more widely, often without streaming
99 Mixing is <em>live</em> - required for streaming, and avoids the
100 need for extensive editing after the event
103 Mixing is <em>interactive</em> - required for good coverage of
104 presenters, audience and slides; very limited in other
111 <h1>What is DVswitch <em>not</em>?</h1>
113 There are limited developer resources and limited goals for
114 DVswitch. It is never intended to be:
116 <ul class="incremental">
118 A general video editor
121 An audio mixer - audio functionality is limited to dubbing and
125 A complete recording and publishing system
128 <p class="incremental">
129 These are all better handled by other software and
135 <h1>The 'DV' in DVswitch</h1>
137 The name refers to the DV format used by many video cameras:
141 <th>Profile</th><th>Specification</th><th>Video codec</th><th>Supported</th>
144 <td>Basic DV</td><td>IEC 61834</td><td>DV 25</td><td>yes</td>
147 <td>DVCAM</td><td>Sony proprietary</td><td>DV 25</td><td>probably</td>
150 <td>DVCPRO</td><td>SMPTE 314M</td><td>DV 25</td><td>probably</td>
153 <td>DVCPRO50</td><td>SMPTE 314M</td><td>DV 50</td><td>not yet</td>
156 <td>DVCPRO HD</td><td>SMPTE 370M</td><td>DV 100</td><td>not yet</td>
159 <td>HDV</td><td>IEC 61834</td><td>MPEG-2</td><td>no</td>
163 DV video codecs compress each frame separately (unlike MPEG)
165 <div class="handout">
167 The lack of interframe compression means there is relatively
168 little delay between camera and mixer and we can cut between
169 sources without having to decode all sources all the time.
170 In fact, DVswitch doesn't need to decode even a single source at
171 full frame rate if you just cut between sources without using
175 Unfortunately, most of today's consumer cameras don't have DV
176 output and may not provide live video output at all.
182 <h1>Overview of the system</h1>
184 A simplified view of the typical components:
186 <object data="dvswitch-simple.svg" width="60%" height="60%"></object>
191 <ul class="incremental">
193 Source types: firewire/USB DV device, ALSA capture device,
197 Physical sources are spread around room and connected to the
198 mixer via TCP/IP networking
201 Original protocol: mixer runs a network server; sources run as
202 clients and send DIF over TCP
203 <ul class="incremental">
205 Requires a script to coordinate mixer and source startup -
206 an annoying complication
210 Later enhancement: tally lights
213 Next release: sources run as RTP/RTSP servers and mixer
214 connects to them as a client
215 <ul class="incremental">
217 No custom scripts required; just configuration files
226 <ul class="incremental">
228 Sink types: DIF files, pipe to arbitrary command
231 Also connected using TCP/IP networking, though this is not such
232 a good idea for recording
235 Original protocol: mixer runs a network server; sinks run
236 as clients and receive DIF over TCP
239 Later enhancement: sink reports whether it will record;
240 mixer can start, stop and cut recording
243 Next release: file and pipe sinks built into mixer along with an
251 <object data="screenshot-1.png" width="50%"></object>
255 <h1>Mixer UI, annotated</h1>
256 <object data="screenshot-1-annotated.png" width="50%"></object>