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