@(#) $Header: README,v 1.10 94/12/04 22:40:17 mccanne Exp $ (LBL) VIC 2.6 BETA vic@ee.lbl.gov Lawrence Berkeley Laboratory Network Research Group ftp://ftp.ee.lbl.gov/conferencing/vic/vic-*.tar.Z and University of California, Berkeley ftp://tenet.cs.berkeley.edu/pub/src/vic-*.tar.Z This directory contains a BETA release of the source code to vic, the UCB/LBL tool for video conferencing over the Internet. Vic was designed with a flexible and extensible architecture to support heterogeneous environments and configurations. For example, in high bandwidth settings, multi-megabit full-motion JPEG streams can be sourced using hardware assisted compression, while over lower bandwidth environments like the Internet, aggressive low bit-rate coding can be carried out in software. Vic is based on version 2 of the Real-time Transport Protocol (RTP), which provides basic real-time media communication support. RTP is an application-level protocol and is implemented entirely within vic -- you need no special system enhancements to run RTP. Although vic can be run point-to-point using standard unicast IP addresses, it is primarily intended as a multiparty conferencing application. To make use of the conferencing capabilities, your system must support IP Multicast, and ideally, your network should be connected to the IP Multicast Backbone (MBONE). For more information on the MBONE, check out ftp://ftp.isi.edu/mbone/faq.txt. (Vic also runs over the experimental real-time networking protocols from U.C. Berkeley's Tenet group. See http://tenet.berkeley.edu for more information.) Vic supports only the video portion of a multimedia conference; audio, whiteboard, and session control tools are implemented as separate applications. Our audio tool is called ``vat'', our whiteboard tool ``wb'', and our session directory tool ``sd''. All of these tools are available via ftp to ftp.ee.lbl.gov in the ``conferencing'' subdirectory. Other related applications include ISI's Multimedia Conference Control, mmcc, in ftp://ftp.isi.edu/confctrl/mmcc/mmcc*; the Xerox PARC Network Video tool, nv, in ftp://ftp.parc.xerox.com/pub/net-research/nv*; and the INRIA Video-conferencing System, ivs, in ftp://avahi.inria.fr/pub/videoconference. Vic is backward compatible with RTPv1 and can interoperate with both nv (v3.3) and ivs (v3.3). Features unique to vic include a ``Robust H.261'' video encoder and voice-activated video switching. The Robust-H.261 encoder combines the advantages of nv's block-based conditional replenishment scheme (i.e., robustness to loss) with those of H.261 (i.e., higher compression gain and compatibility with hardware codecs). This is achieved by coding only ``intra-mode'' macroblocks and using macroblock skip codes to replenish only the blocks that change. For a fixed bit rate, the H.261 coder achieves frame rates typically 2-4 times that of the nv coding format. In voice-activated switching, a viewing window can be configured to ``follow the speaker''. Using cues from vat, vic will switch the viewing window to whichever source is speaking. More than one window can be configured in this manner, which causes the most recent N speakers to be displayed. To build vic from source, simply run the ./configure script in the top-level of the distribution directory. Then run 'make'. You'll need to have tcl/tk (v7.3/3.6) installed (or built in the directory above the vic tree), and the "BLT" library (v1.7) available via anonymous ftp to ftp.aud.alcatel.com, in the directory tcl/extensions. Supported configurations include: sparc SunOS 4.x videopix sparc Solaris 2.4 sunvideo sparc NetBSD 1.x none DEC/MIPS Ultrix 4.3 jvideo, Xv (tx/pip) DEC/AXP OSF/1 v2.x j300, jvideo SGI IRIX 5.x vl i386 BSD/386 none (yet) HP/PA HP-UX 9.x Xv Notes: o For the DEC/j300, you will need Lance Berc's (berc@src.dec.com) jvdriver server. See http://chocolate.pa.dec.com/mbone. o Solaris-2 has ridiculously small limits on shared memory segments. If you want to display full sized 24-bit video windows and more than one or two, add this line to /etc/system and reboot: set shmsys:shminfo_shmmax=2097152 set shmsys:shminfo_shmseg=24 If you have a cg14 frame buffer (the built-in frame buffer on sparc-20), it's a good idea to run /usr/kvm/cg14config -g 2.2 -u 2.2 from your X startup script. The default display gamma is not appropriate for video (even though the man page says the default is 2.2). o The BSD/386 X server does not support the shared memory extension. Display performance is quite pathetic. o tx/pip support is currently broken. o sparc/parallax support is on the to-do list (we would love for someone to do this and send us back the changes). o Due to bugs in the Solaris-2.3 poll system call, vic is pretty much useless under 2.3. You should upgrade to 2.4. This work was co-sponsored by the the Lawrence Berkeley Laboratory and the Tenet Group of the University of California Berkeley and of the International Computer Science Institute. Support was provided by (1) an AT&T Graduate Fellowship; (2) for the Lawrence Berkeley Laboratory: i. the Director, Office of Energy Research, Scientific Computing Staff, of the U.S. Department of Energy, Contract No. DE-AC03-76SF00098, ii. Sun Microsystems, and iii. Digital Equipment Corporation; and (3) for the Tenet Research Group: i. the National Science Foundation and the Advanced Research Projects Agency (ARPA) under Cooperative Agreement NCR-8919038 with the Corporation for National Research Initiatives, and ii. Digital Equipment Corporation. As always, we very much want to hear about bugs and problems. Please don't hesitate to offer suggestions or other feedback. Send all vic related correspondence to vic@ee.lbl.gov (this list includes only the developers and is not distributed beyond our site). Thanks. - Steve McCanne (mccanne@ee.lbl.gov) Van Jacobson (van@ee.lbl.gov)