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