voctomix is written in Python and uses GStreamer
voctomix is a software based system for interactive live mixing of incoming video streams, designed for the needs of conference recording.
FIXME: This diagram is for gst-switch, voctomix is similar in design but has some differences!
DVSwitch and voctomix
DVSwitch is a digital video mixer intended for interactive live mixing of several incoming DV video streams. It was originally designed for the needs of DebConf; It has now been used for various other conferences, meetings and live musical performances.
Parts of voctomix
voctocore is the part which actually does the real work. It accepts incoming video streams and then chooses one to output. It also supports a limited number of ways to mix a maximum of 2 streams at once.
The server has a constant stream output stream. This stream is well formed for a given format set on start (IE 720p60 or 1080p50 or similar). Both video output and audio output regardless of any problems in inputs (such as corruption or dropped frames) and even if no input streams remain.
The user interface should be a program which connects to the gst-switch server and allows a user to configure features about the server.
The user interface; * Shows previews of all the incoming videos (and shows audio levels). * Lets you select which incoming video should be sent to the output. * Lets you select which incoming audio should be sent to the output (independent of video). * Lets you select Video 1 and Video 2 in PIP mode. * Lets you position the PIP in Option 2. * Lets you set the fade delay.
vocto-outcasts are extra scripts for interfacing with voctocore. They allow capture from multiple different types of video sources.