DVswitch

Ben Hutchings

The author

What is DVswitch?

What is DVswitch not?

There are limited developer resources and limited goals for DVswitch. It is never intended to be:

These are all better handled by other software and hardware.

The 'DV' in DVswitch

The name refers to the DV format used by many video cameras:

ProfileSpecificationVideo codecSupported
Basic DVIEC 61834DV 25yes
DVCAMSony proprietaryDV 25probably
DVCPROSMPTE 314MDV 25probably
DVCPRO50SMPTE 314MDV 50not yet
DVCPRO HDSMPTE 370MDV 100not yet
HDVIEC 61834MPEG-2no

DV video codecs compress each frame separately (unlike MPEG)

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.

Unfortunately, most of today's consumer cameras don't have DV output and may not provide live video output at all.

Overview of the system

This is a simplified view of the typical components. The system is completely flexible as to which sinks and sources are used.

Sources

DIF is the DV Interchange Format, sometimes referred to as 'raw DV' although it is a container format in its own right.

Sinks

Mixer UI

Mixer UI, annotated

Mixer internals

To simplify the diagram, I omitted connection setup, tally light and recording control, and the internal sinks that haven't been implemented yet.

All these interfaces have limited-length queues. If a queue fills up, frames have to be dropped - we must not block or use unlimited memory!

The mixer clock thread maintains a frame clock at about 25 or 30 Hz depending on the video system, constantly adjusted to follow the audio source.