Live Video Mixing With Free Software

This document describes a workflow for audio/video live-streaming of an event to the masses over the internet using Free/Libre Open-Source Software for mixing, mastering, encoding, transmission and archiving.

The setup described was used at the Linux Audio Conference 2012 in Stanford, CA. Check out the video-archive on the LAC website for examples.

Introduction

While there are a couple of endeavors and attempts to replicate the functionality of hardware video-mixers in free-software, most of the existing solutions are rather incomplete. Either they're toy prototypes, very specific or hard to operate by persons other than the coder themselves. The goals we set out to accomplish are to implement adequate functionality, easy-to-use and easy-to-learn operation and integration into the production work-flow.

The solution presented uses dvswitch as the main component for A/V processing. It is augmented by an physical interface (here: a MIDI mixing desk) for controlling it. Live-stream relay is powered by ffmpeg2theora and icecast2.

The system is supplemented by a couple of configurable scripts (clickable shortcuts) for auto-starting the whole setup and trouble-shooting.

Overview

The system comprises two main applications (yellow in above diagram):

  • dvswitch does the main work or mixing video
  • dvmctrl - controls dvswitch

While 'DVswitch' can be controlled independently using its GUI, the approach does not lend itself for robust real-world usage: Using a mouse to click smallish on-screen buttons or using keyboard-shortcuts is not a good interface to operate a system live. Furthermore, integration into the post-production workflow (adding titles, meta-data, etc) is out of the scope of the video-mixing itself. The work-flow integration is overseen by a control application: 'dvmctrl'.

The green and blue boxes in above diagram are dvsource-* and dvsink-* instances respectively. They are wrapped by shell-scripts that allow to monitor and restart them, more on this later.

Building Blocks

documentation work in progress

DVswitch

DV-sources

Camera(s)

Projector(s)

Title-videos

DV-sinks

File/Disk

Streaming

DVmctrl

A MIDI to OpenSoundControl (OSC) mapper for dvswitch.

Optionally scans a folder for title-videos (-D path), and creates symlinks to titles on cue/cut in the dvsink-file folder (-S path).

MIDI mappings

BCF2000 MIDI mapping

Scripts

all inside screen(1).

Usage

Prerequisites:

  • Video Camera(s)
  • Computer (>=2Ghz, multi-core)
  • Internet
 
wiki/dvswitch.txt · Last modified: 21.09.2012 17:01 by rgareus