2.8 (2.6 uses older version of H.261 payload format)
network video conferencing tool
LBNL, University College London
Steve McCanne
WWW: or at UCL (recent versions)
DEC, FreeBSD (also fixes memory leaks in vic-2.8 and supports Tcl/Tk 8.0; patches applicable to all), HP, Linux, SGI, SunOS, Solaris (with Osprey (MMAC) 1500 video card, Osprey 150), Windows
Frame grabber:
Sun VideoPix, SunVideo (Sun Solaris), Osprey, PC codecs, video4linux API

Note on Osprey 150: If you get the message no video capture device found, do the following:

  1. If you have a symbolic link /dev/rtvc0 pointing to /dev/o1c[0-9]* (literally, not as a regular expression, with brackets and star), remove the link and install
    ln -s /dev/o1c0 /dev/rtvc0
  2. Make sure that /opt/SUNWopi/config/opi.devices exists and contains
    sw    opisw
    o1c    opio1c
  3. Make sure that /opt/SUNWopi/lib/ contains the libraries and

A pre-compiled version of vic can be found at

Video encodings:
nv, JPEG, H.261, CELB, SCR, MPEG (via an extension), JPEG
Audio encodings:
source, binary
IP multicast, unicast, RSVP
RTP Status:
RFC 1889, RFC 1890
Vic-Display capabilities for different systems and X servers;

The use of the Osprey 1500 video card requires compiling vic with the file from MMAC.



The "-u script" option allows you to specify a Tcl script that will be evaluated when vic starts up. A sample script to start transmission and set frame rate/bandwidth is given below.

        # set bandwidth to 40 (the '50' is a Tcl priority number)
        option add Vic.bandwidth 40 50
        # set framerate to 10
        option add Vic.framerate 10 50

        # The procedure named 'user_hook' is called when vic starts up,
        # so I'm using this procedure to start transmission.

        proc user_hook {} {
                global transmitButton transmitButtonState
                if { ![winfo exists .menu] } {
                if { [$transmitButton cget -state] != "disabled" } {
                        set transmitButtonState 1
                destroy .menu
This script can be in any directory, but give the full pathname on the vic command line.

Last updated by Henning Schulzrinne