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 name refers to the DV format used by many video cameras:
Profile | Specification | Video codec | Supported |
---|---|---|---|
Basic DV | IEC 61834 | DV 25 | yes |
DVCAM | Sony proprietary | DV 25 | probably |
DVCPRO | SMPTE 314M | DV 25 | probably |
DVCPRO50 | SMPTE 314M | DV 50 | not yet |
DVCPRO HD | SMPTE 370M | DV 100 | not yet |
HDV | IEC 61834 | MPEG-2 | no |
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.
This is a simplified view of the typical components. The system is completely flexible as to which sinks and sources are used.
DIF is the DV Interchange Format, sometimes referred to as 'raw DV' although it is a container format in its own right.
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.