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 (but it does implement audio dubbing and level monitoring)
124 A complete recording and publishing system
127 <p class="incremental">
128 These are all better handled by other software and
134 <h1>The 'DV' in DVswitch</h1>
136 The name refers to the DV formats used by many video cameras:
140 <th>Profile</th><th>Specification</th><th>Video codec</th><th>Supported</th>
143 <td>Basic DV</td><td>IEC 61834</td><td>DV 25</td><td>yes</td>
146 <td>DVCAM</td><td>Sony proprietary</td><td>DV 25</td><td>probably</td>
149 <td>DVCPRO</td><td>SMPTE 314M</td><td>DV 25</td><td>probably</td>
152 <td>DVCPRO50</td><td>SMPTE 314M</td><td>DV 50</td><td>not yet</td>
155 <td>DVCPRO HD</td><td>SMPTE 370M</td><td>DV 100</td><td>not yet</td>
158 <td>HDV</td><td>IEC 61834</td><td>MPEG-2</td><td>no</td>
162 DV video codecs compress each frame separately (unlike MPEG)
164 <div class="handout">
166 The lack of interframe compression means there is relatively
167 little delay between camera and mixer and we can cut between
168 sources without having to decode all sources all the time.
169 In fact, DVswitch doesn't need to decode even a single source at
170 full frame rate if you just cut between sources without using
174 Unfortunately, most of today's consumer cameras don't have DV
175 output and may not provide live video output at all.
181 <h1>Overview of the system</h1>
183 A simplified view of the typical components:
185 <object data="dvswitch-simple.svg" width="60%" height="60%"></object>
190 <ul class="incremental">
192 Source types: firewire/USB DV device, ALSA capture device,
196 Physical sources are spread around room and connected to the
197 mixer via TCP/IP networking
200 Original protocol: mixer runs a network server; sources run as
201 clients and send DIF over TCP
202 <ul class="incremental">
204 Requires a script to coordinate mixer and source startup -
205 an annoying complication
209 Later enhancement: tally lights
212 Next release: sources run as RTP/RTSP servers and mixer
213 connects to them as a client
214 <ul class="incremental">
216 No custom scripts required; just configuration files
225 <ul class="incremental">
227 Sink types: DIF files, pipe to arbitrary command
230 Also connected using TCP/IP networking, though this is not such
231 a good idea for recording
234 Original protocol: mixer runs a network server; sinks run
235 as clients and receive DIF over TCP
238 Later enhancement: sink reports whether it will record;
239 mixer can start, stop and cut recording
242 Next release: file and pipe sinks built into mixer along with an
250 <object data="screenshot-1.png" width="50%"></object>
255 <object data="screenshot-1-annotated.png" width="50%"></object>