From: Ben Hutchings <ben@decadent.org.uk> Date: Tue, 28 Dec 2010 22:10:22 +0000 (+0000) Subject: Early outline of the talk X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=a45ddfd4426085bbe33df1129a34a78e9c4e2a32;p=lca-dvswitch.git Early outline of the talk --- a45ddfd4426085bbe33df1129a34a78e9c4e2a32 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b6b835b --- /dev/null +++ b/Makefile @@ -0,0 +1,18 @@ +all: s5-checksums.txt dvswitch-simple.svg screenshot-1-annotated.png + +clean: + rm -r s5-checksums.txt s5-blank dvswitch-simple.svg screenshot-1-annotated.png + +s5-checksums.txt: /usr/share/s5/s5-blank + s5 blank . + sed -i 's/url(bodybg.gif)//' s5-blank/ui/default/pretty.css + +%.svg: %.dia + dia --export=$@ $< + +%.png: %.xcf + gimp -i -d -b ' '\ +'(let* ((image (car (gimp-file-load RUN-NONINTERACTIVE "$<" "$<"))) '\ +' (layer (car (gimp-image-flatten image)))) '\ +' (gimp-file-save RUN-NONINTERACTIVE image layer "$@" "$@")) '\ +'(gimp-quit 0)' diff --git a/dvswitch-simple.dia b/dvswitch-simple.dia new file mode 100644 index 0000000..d47a2e5 Binary files /dev/null and b/dvswitch-simple.dia differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..3c5d0a7 --- /dev/null +++ b/index.html @@ -0,0 +1,219 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml"> + +<head> +<title>DVswitch - Ben Hutchings - LCA2011</title> +<!-- metadata --> +<meta name="generator" content="S5" /> +<meta name="version" content="S5 1.1" /> +<meta name="author" content="Ben Hutchings" /> +<!-- configuration parameters --> +<meta name="defaultView" content="slideshow" /> +<meta name="controlVis" content="hidden" /> +<!-- style sheet links --> +<link rel="stylesheet" href="s5-blank/ui/default/slides.css" type="text/css" media="projection" id="slideProj" /> +<link rel="stylesheet" href="s5-blank/ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" /> +<link rel="stylesheet" href="s5-blank/ui/default/print.css" type="text/css" media="print" id="slidePrint" /> +<link rel="stylesheet" href="s5-blank/ui/default/opera.css" type="text/css" media="projection" id="operaFix" /> +<!-- S5 JS --> +<script src="s5-blank/ui/default/slides.js" type="text/javascript"></script> +</head> +<body> + +<div class="layout"> +<div id="controls"><!-- DO NOT EDIT --></div> +<div id="currentSlide"><!-- DO NOT EDIT --></div> +<div id="header"></div> +<div id="footer"> +<h1>LCA2011</h1> +<h2>DVswitch</h2> +</div> + +</div> + + +<div class="presentation"> + +<div class="slide"> +<h1>DVswitch</h1> +<h3>Ben Hutchings</h3> +</div> + + +<div class="slide"> + <h1>What is DVswitch?</h1> + <ul class="incremental"> + <li> + A software system that supports video mixing, recording and streaming + </li> + <li> + Designed particularly for the needs of technical conferences that + want to record and stream on a limited budget. Now used more + widely, often without streaming. + </li> + <li> + Mixing is <em>live</em> - a requirement for streaming, and a way to + avoid the need for extensive editing after the event + </li> + <li> + Mixing is <em>interactive</em> - a requirement for good coverage of + presenters, audience and slides, but very limited in other + streaming software + </li> + </ul> +</div> + +<div class="slide"> + <h1>What is DVswitch <em>not</em>?</h1> + <p> + There are limited developer resources and limited goals for + DVswitch. It is never intended to be: + </p> + <ul class="incremental"> + <li> + A general video editor + </li> + <li> + An audio mixer (but it does implement audio dubbing and level monitoring) + </li> + <li> + A complete recording and publishing system + </li> + </ul> + <p class="incremental"> + These are all better handled by other software and + hardware. + </p> +</div> + +<div class="slide"> + <h1>The 'DV' in DVswitch</h1> + <p> + The name refers to the DV formats used by many video cameras: + </p> + <table> + <tr> + <th>Profile</th><th>Specification</th><th>Video codec</th><th>Supported</th> + </tr> + <tr> + <td>Basic DV</td><td>IEC 61834</td><td>DV 25</td><td>yes</td> + </tr> + <tr> + <td>DVCAM</td><td>Sony proprietary</td><td>DV 25</td><td>probably</td> + </tr> + <tr> + <td>DVCPRO</td><td>SMPTE 314M</td><td>DV 25</td><td>probably</td> + </tr> + <tr> + <td>DVCPRO50</td><td>SMPTE 314M</td><td>DV 50</td><td>not yet</td> + </tr> + <tr> + <td>DVCPRO HD</td><td>SMPTE 370M</td><td>DV 100</td><td>not yet</td> + </tr> + <tr> + <td>HDV</td><td>IEC 61834</td><td>MPEG-2</td><td>no</td> + </tr> + </table> + <p> + DV video codecs compress each frame separately (unlike MPEG) + </p> + <div class="handout"> + <p> + The lack of interframe compression means there is relatively + little delay between camera and mixer and we can cut between + sources without having to decode all sources all the time. + In fact, DVswitch doesn't need to decode even a single source at + full frame rate if you just cut between sources without using + mixing effects. + </p> + <p> + Unfortunately, most of today's consumer cameras don't have DV + output and may not provide live video output at all. + </p> + </div> +</div> + +<div class="slide"> + <h1>Overview of the system</h1> + <p> + A simplified view of the typical components: + </p> + <object data="dvswitch-simple.svg" width="60%" height="60%"></object> +</div> + +<div class="slide"> + <h1>Sources</h1> + <ul class="incremental"> + <li> + Source types: firewire/USB DV device, ALSA capture device, + DIF file + </li> + <li> + Physical sources are spread around room and connected to the + mixer via TCP/IP networking + </li> + <li> + Original protocol: mixer runs a network server; sources run as + clients and send DIF over TCP + <ul class="incremental"> + <li> + Requires a script to coordinate mixer and source startup - + an annoying complication + </li> + <li> + Improvement: tally lights + </li> + </ul> + <li> + Next release: sources run as RTP/RTSP servers and mixer + connects to them as a client + <ul class="incremental"> + <li> + No custom scripts required; just configuration files + </li> + </ul> + </li> + </ul> +</div> + +<div class="slide"> + <h1>Sinks</h1> + <ul class="incremental"> + <li> + Sink types: DIF files, pipe to arbitrary command + </li> + <li> + Also connected using TCP/IP networking, though this is not such + a good idea for recording + </li> + <li> + Original protocol: mixer runs a network server; sinks run + as clients and receive DIF over TCP + <ul class="incremental"> + <li> + Improvement: sink reports whether it will record; mixer can + start, stop and cut recording + </li> + </ul> + </li> + <li> + Next release: file and pipe sinks built into mixer along with an + RTP/RTSP server + </li> + </ul> +</div> + +<div class="slide"> + <h1>Mixer</h1> + <object data="screenshot-1.png" width="50%"></object> +</div> + +<div class="slide"> + <h1>Mixer</h1> + <object data="screenshot-1-annotated.png" width="50%"></object> +</div> + +</body> +</html> diff --git a/screenshot-1-annotated.xcf b/screenshot-1-annotated.xcf new file mode 100644 index 0000000..e667ade Binary files /dev/null and b/screenshot-1-annotated.xcf differ diff --git a/screenshot-1.png b/screenshot-1.png new file mode 100644 index 0000000..a04de74 Binary files /dev/null and b/screenshot-1.png differ