Improve table formatting
[lca-dvswitch.git] / index.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
2         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
4 <html xmlns="http://www.w3.org/1999/xhtml">
5
6 <head>
7 <title>DVswitch - Ben Hutchings - LCA2011</title>
8 <!-- metadata -->
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: 3pt solid black }
24   th, td { padding: 0 6pt }
25 </style>
26 <!-- S5 JS -->
27 <script src="s5-blank/ui/default/slides.js" type="text/javascript"></script>
28 </head>
29 <body>
30
31 <div class="layout">
32 <div id="controls"><!-- DO NOT EDIT --></div>
33 <div id="currentSlide"><!-- DO NOT EDIT --></div>
34 <div id="header">
35   <object class="logo" data="lca2011.svg"></object>
36 </div>
37 <div id="footer">
38 <h1>LCA2011</h1>
39 <h2>DVswitch</h2>
40 </div>
41
42 </div>
43
44
45 <div class="presentation">
46
47 <div class="slide">
48 <h1>DVswitch</h1>
49 <h3>Ben Hutchings</h3>
50 </div>
51
52
53 <div class="slide">
54   <h1>What is DVswitch?</h1>
55   <ul class="incremental">
56     <li>
57       A software system that supports video mixing, recording and streaming
58     </li>
59     <li>
60       Designed particularly for the needs of technical conferences that
61       want to record and stream on a limited budget.  Now used more
62       widely, often without streaming.
63     </li>
64     <li>
65       Mixing is <em>live</em> - a requirement for streaming, and a way to
66       avoid the need for extensive editing after the event
67     </li>
68     <li>
69       Mixing is <em>interactive</em> - a requirement for good coverage of
70       presenters, audience and slides, but very limited in other
71       streaming software
72     </li>
73   </ul>
74 </div>
75
76 <div class="slide">
77   <h1>What is DVswitch <em>not</em>?</h1>
78   <p>
79     There are limited developer resources and limited goals for
80     DVswitch.  It is never intended to be:
81   </p>
82   <ul class="incremental">
83     <li>
84       A general video editor
85     </li>
86     <li>
87       An audio mixer (but it does implement audio dubbing and level monitoring)
88     </li>
89     <li>
90       A complete recording and publishing system
91     </li>
92   </ul>
93   <p class="incremental">
94     These are all better handled by other software and
95     hardware.
96   </p>
97 </div>
98
99 <div class="slide">
100   <h1>The 'DV' in DVswitch</h1>
101   <p>
102     The name refers to the DV formats used by many video cameras:
103   </p>
104   <table>
105     <tr>
106       <th>Profile</th><th>Specification</th><th>Video codec</th><th>Supported</th>
107     </tr>
108     <tr>
109       <td>Basic DV</td><td>IEC 61834</td><td>DV 25</td><td>yes</td>
110     </tr>
111     <tr>
112       <td>DVCAM</td><td>Sony proprietary</td><td>DV 25</td><td>probably</td>
113     </tr>
114     <tr>
115       <td>DVCPRO</td><td>SMPTE 314M</td><td>DV 25</td><td>probably</td>
116     </tr>
117     <tr>
118       <td>DVCPRO50</td><td>SMPTE 314M</td><td>DV 50</td><td>not yet</td>
119     </tr>
120     <tr>
121       <td>DVCPRO HD</td><td>SMPTE 370M</td><td>DV 100</td><td>not yet</td>
122     </tr>
123     <tr>
124       <td>HDV</td><td>IEC 61834</td><td>MPEG-2</td><td>no</td>
125     </tr>
126   </table>
127   <p>
128     DV video codecs compress each frame separately (unlike MPEG)
129   </p>
130   <div class="handout">
131     <p>
132       The lack of interframe compression means there is relatively
133       little delay between camera and mixer and we can cut between
134       sources without having to decode all sources all the time.
135       In fact, DVswitch doesn't need to decode even a single source at
136       full frame rate if you just cut between sources without using
137       mixing effects.
138     </p>
139     <p>
140       Unfortunately, most of today's consumer cameras don't have DV
141       output and may not provide live video output at all.
142     </p>
143   </div>
144 </div>
145
146 <div class="slide">
147   <h1>Overview of the system</h1>
148   <p>
149     A simplified view of the typical components:
150   </p>
151   <object data="dvswitch-simple.svg" width="60%" height="60%"></object>
152 </div>
153
154 <div class="slide">
155   <h1>Sources</h1>
156   <ul class="incremental">
157     <li>
158       Source types: firewire/USB DV device, ALSA capture device,
159       DIF file
160     </li>
161     <li>
162       Physical sources are spread around room and connected to the
163       mixer via TCP/IP networking
164     </li>
165     <li>
166       Original protocol: mixer runs a network server; sources run as
167       clients and send DIF over TCP
168       <ul class="incremental">
169         <li>
170           Requires a script to coordinate mixer and source startup -
171           an annoying complication
172         </li>
173         <li>
174           Improvement: tally lights
175         </li>
176       </ul>
177     <li>
178       Next release: sources run as RTP/RTSP servers and mixer
179       connects to them as a client
180       <ul class="incremental">
181         <li>
182           No custom scripts required; just configuration files
183         </li>
184       </ul>
185     </li>
186   </ul>
187 </div>
188
189 <div class="slide">
190   <h1>Sinks</h1>
191   <ul class="incremental">
192     <li>
193       Sink types: DIF files, pipe to arbitrary command
194     </li>
195     <li>
196       Also connected using TCP/IP networking, though this is not such
197       a good idea for recording
198     </li>
199     <li>
200       Original protocol: mixer runs a network server; sinks run
201       as clients and receive DIF over TCP
202       <ul class="incremental">
203         <li>
204           Improvement: sink reports whether it will record; mixer can
205           start, stop and cut recording
206         </li>
207       </ul>
208     </li>
209     <li>
210       Next release: file and pipe sinks built into mixer along with an
211       RTP/RTSP server
212     </li>
213   </ul>
214 </div>
215
216 <div class="slide">
217   <h1>Mixer</h1>
218   <object data="screenshot-1.png" width="50%"></object>
219 </div>
220
221 <div class="slide">
222   <h1>Mixer</h1>
223   <object data="screenshot-1-annotated.png" width="50%"></object>
224 </div>
225
226 </body>
227 </html>