CU-SeeMeª README file 22 Aug 96 by Dick Cogger (revised by Larry Chace) CU-SeeMe(tm) 0.85b1 BETA VERSION for (self-selected) Testers ONLY CU-SeeMePPc0.85b1 and CU-SeeMe68k0.85b1 are now available. Both of these fix various bugs and add some functional enhancements beyond the previous 0.83 series. Obtain by FTP to cu-seeme.cornell.edu/pub/cu-seeme ***WARNING*** This is beta software. It has been tested through 3 alpha releases and seems quite stable, but as always, your mileage may vary. If you pick it up and use it, you are volunteering to be a beta tester. -------- Documentation ---------- 1. README.0.85.basic.9-7-95.txt - This document, a consolidated readme for Mac CU-SeeMe, as it exists in version 0.85b1, with no attempt to detail differences from former versions. 2. README.changes.22Auf96.txt - a log of changes through the 0.70 series, the 0.80 series, the 0.83 series, and, now, the 0.85 beta. 3. README.AuxData-ADtrace.txt - a discussion of "AuxData" in CU-SeeMe and how to use the ADtrace plug-in during testing. (This document not updated since 0.80.) 4. FunctionModuleAPI.bin - a Word file detailing the Plug-In interface, inside the SDK (Software Development Kit) folder. (This document not updated since 0.80.) 5. README.SDK.1-16-95.txt - a brief overview of the contents of the CU-SeeMe Plug-In SDK, inside the SDK folder. (This document not updated since 0.80.) --------- This Document ------- This document is a (still somewhat crudely) consolidated document for version 0.85. See the latest CU-SeeMe.CHANGES..txt for an extensive revision and release history. Briefly: *** 0.85 adds: This release is mainly a bug-fix release with some new features. The most noteworthy changes are as follows: Fixes: 1. Reduce the possibility of a system hang during "Quit". 2. Avoid random memory smashes on PPC machines. 3. Avoid a "push-to-crash" problem with the Audio Window "push to talk" button. 4. Improve the reliability of the Chat Window messages. 5. (Other small items too numerous and obscure to mention.) New features: 1. Include a built-in Chat Window to functionally replace the Talk Window plug-in routine. (See below for more comments on this feature.) 2. Detect color video being sent by White Pine's Enchanced CU-SeeMe and identify it as such in the Participant List by showing the user "name" in red. (Cornell's CU-SeeMe cannot decode color video -- at present -- and so color senders have to be treated as "lurkers", just as if they are sending no video at all.) Details on the Chat Window: 1. This feature is built into CU-SeeMe and so all users of this version will have it. There is no need to download the "TalkFM" program that was used with previous versions, but that program, if available, can still be used. 2. The window can be re-sized in the normal fashion and the division between "output" and "input" can be adjusted by dragging the "black bar" in the "elevator". 3. The "Config" button can be used to change the font and size of the window contents. 4. The "Filter" button can be used to enable or disable message filtering. (Please note that this process can take several seconds -- don't panic!) 5. The "Reset" button can be used to eliminate all message filters. 6. If you want to filter out some user's messages, then just double-click on the user's name in the output portion of the window. When the dialog box comes up, check that you want to filter out these messages and click "OK". You can also double-click the name to turn off the filtering of that user's messages. 7. The messages are retained in memory, even if you have filtered them out, so that you can turn off the filtering and see the messages once more. *** 0.83 added: 1. There is a new algorithm and format for loss reports and more communitcation with the new version of the reflector. You now have parameters to set to limit your overall receive bw. 2. There is a participant list (Show Participant List from the Participants Menu) which will show information about senders and lurkers and provide control of audio, access to statistics, IP address, etc. 3. The Disconnect item in the Conference Menu now shows the IP of the other end of your connection, either user or reflector as the case may be. 4. There is a new Audio window with level indicators for both your mic (as before) and for incoming audio. Also there is an input gain control to adjust the sensitivity of the mic and an output volume control to adjust the speaker level. A dual squelch control allows you to raise the squelch level when sound is being received from the net. 5. If you hold down (instead of clicking) on someone's mic icon, it functions as a private-to-them push-to-talk. If you Option-click someones speaker icon, instead of turning them off, it turns everyone else off. 6. Lurker windows can be opened, and you get a local window if you are a lurker (just title bar and button bar) to give access to various controls. In particular, a lurker can access the control panels under the local window for audio and receive bandwidth. 7. QuickCam Audio works (yea!), although the sound is not the highest quality. QuickCam provides 5khz sampling, and the present implementation simply interpolates that up to 8khz so it will go thru the encoders as they stand. Puffing up the bandwidth utilization at the sending end by 8/5ths is clearly a sub-optimal idea, but to interoperate with everything it was seen as a necessary mode and a starting point. *** 0.80 versions added: 1) A "SlideWindow" 2) An "Auxilliary Data Transport" 3) A Plug-In interface 4) A "talk" plug-in 5) An AuxData tracing tool 6) Also there was a new version of the reflector which will allow sending of AuxData and also prevent sending of AuxData to participants who are not running the appropriate AuxData application (or who don't have it). *** 0.70 versions added audio support. -------------BASIC CU-SeeMe INFO-------------------- CU-SeeMe, a desktop videoconferencing program, for Macintosh and PC, is available free from Cornell University under copyright of Cornell and its collaborators. Future commercial versions and commercial licensing of CU-SseeMe will be available from White Pine Software, Cornell's Master Licensee for commercialization of CU-SeeMe. CU-SeeMe provides a one-to-one conference, or by use of a reflector, a one-to-many, a several-to-several, or a several-to-many conference depending on user needs and hardware capabilities. It displays 4-bit grayscale video windows at 160x120 pixels or at double that diameter, and now includes audio. So far as we know, CU-SeeMe was the first software available for the Macintosh to support real-time multi-party videoconferencing on the Internet. CU-SeeMe is intended to provide useful conferencing at minimal cost. Receiving requires only a Mac with a screen capable of displaying 16 grays and a connection to the Internet. Sending requires the same plus a camera and digitizer (see specs below) which can cost as little as $100 to add on. At this time CU-SeeMe runs on the Macintosh and the PC using an IP network connection. With CU-SeeMe each participant can decide to be a sender, a receiver, or both. WARNING: Although being improved with each version, CU-SeeMe is not mature production software--USE AT YOUR OWN RISK. And also, PLEASE TREAT THE INTERNET KINDLY--keep b/w limits set down under 100kbps, or less if you share limited bandwidth with others. Many, many folks connected to the Internet can use CU-SeeMe with default settings and cause no problem to anyone else; but unfortunately, not everyone. If you don't know whether using CU-SeeMe will mess up the network for someone else, CHECK IT OUT first, please. CU-SeeMe was initially written for the Macintosh by Tim Dorcey with design assistance and sponsorship by Richard Cogger of the Advanced Technology group in the Network Resources division of Cornell University's Information Technology department (CIT). Important early contributions came from: Cornell University Medical Colleges (CUMC), Scott Brim, and John Lynn. Since Oct. 1, 1993, the CU-SeeMe Project receives funding from the National Science Foundation. A very significant collaborative effort at Cornell University Medical Colleges (CUMC) is contributing substantial expertise and code. Development contributers to Macintosh CU-SeeMe0.85: Cornell: Richard Cogger (Project Director/PI), Tim Dorcey, Scott Brim (Co-PI), John Lynn, Larry Chace, Jef Han, Joy Veronneau; CUMC: Steve Erde, Aaron Freimark, Aaron Giles, Erik Dahl, Michael Abato; UIUC: Charley Kline (audio). This material is partially based on work sponsored by the National Science Foundation under Cooperative Agreement No. NCR-9318337. The Government has certain rights in this material. CU-SeeMe (tm) Copyright 1993, 1994, 1995, 1996, Cornell University See Copyright notices at the end of this document. ************************************************************* HOW TO OPERATE CU-SeeMe BEFORE LAUNCH Be sure the screen is switched to a resolution that includes 16 grays (with the Monitors control panel). Settings that will work are: 16 grays, 256 grays, 256 colors, thousands of colors, millions of colors. On AV Macintoshes, you may need to reduce resolution to be able to digitize and send video. You may need to turn off GeoPort devices, speech recognition, etc. and set sound parameters to lower sampling rates to be able to use CU-SeeMe audio. YOUR NAME Launch CU-SeeMe0.80. If it's the first time, a "Preferences" dialog box will appear. Type in your name (to appear on the window where your video is displayed, both locally and remotely). Check other preferences. These settings are stored in a document in your Preferences Folder (in the System Folder). Subsequently, you may access these settings with the Preferences... item on the Edit menu. AT STARTUP When the program appears: (a) If you see a video window on the top left of the screen, the program believes you have a digitizer installed with the Quicktime extension and the needed VDIG component--or that you have an AV-Mac. (b) If you see yourself in the video window, you have a camera plugged in and operating. You will see *WAITING* below your local window. (c) If you see no video window but get only a menu-bar, you are in receive-only mode as the program does not believe you have a digitizer and camera. BUTTON BAR By default, a button bar appears below each video window and a rates bar below the button bar shows statistics on framerate and bandwidth used. You can get rid of all button bars with a checkbox in the Preferences... dialog. LOCAL VIDEO If you have a send-equipped Mac running the program, waiting for a request to send, the bar under the local window will show *WAITING* until someone connects to you or you connect to someone. The framerate indicator shows the speed of framegrabbing, which depends on the resolution you choose and the cpu power available, and possibly on the screendepth set with the Monitors control panel. It will be highest on a fast machine, running in the foreground, capturing the small size ("Standard" resolution) with the screen set to 16 grays. If you choose to mirror the image, have part of it off the screen or covered by another window, the rate will be slower. With buttons in the local window button bar, you can mirror the image (makes it easier to position), "pause" sending, or bring up sets of controls to adjust transmission, reception, compression, brightness and contrast, audio parameters, and choose a digitizer if you have more than one. TO CONNECT For a two-party conference, choose Connect from the Connection menu. Type in an IP address of a digitizer equipped Mac running a recent version of Mac CU-SeeMe (Earlier versions are NOT compatible) or a current Windows version on a PC. For a multiparty conference, enter the IP address of a reflector. (See "How to Test CU-SeeMe following this section.) If all is well, and no one else is already connected to the Mac you designated, it will start sending an image to you. If you are calling a reflector, you may be the only one connected, in which case you will see no windows until someone else connects. If the reflector does not respond immediately, the rates bar will show *CONNECTING*. If there is no answer, you'll get a "no response" message. Note that when you disconnect, the program will ignore any packets received from the same address for 60 seconds. This should not present any problems with reflector connections, but if you are taking turns connecting and disconnecting point-point, there would be some possibility of confusion. However, the 60 second delay applys only one way-- that is, if you disconnect, you can reconnect to the same address right away, but that address can't connect to you for 60 seconds. MOTD With the newer versions of the reflector, the reflector operator can set up a Message Of The Day which will be displayed to folks as they connect. (If they use 0.70 or later.) If you operate a reflector, you might want to use this facility to explain policies, etc. that apply to use of your reflector. NICKNAMES As an alternative to repeatedly typing in IP addresses, you may use Edit Nicknames from the Edit menu to set up Nicknames for IP addresses. Then use Connect To > from the Connection menu to make connections. DNS names are now supported in the connect dialog, but not yet in the Nickname file. A further release will have support for url format nicknames and saving bookmark files containing a url which will launch CU-SeeMe and connect to the site pointed to by the url. Apple events will also work for launching/connecting, so it should be possible to set up web brousers to establish CU-SeeMe sessions. But we havn't had time to wring this stuff out for this release. SEND RATES BAR When someone requests a connection (or you open a connection) and you start sending--you will also see, in addition to framerate, an indication of bandwidth in Kbits/sec. On the right end of the rates bar under the local window is shown a "cap" which limits bandwidth used for sending and hence framerate, depending on amount of motion. The minimum and maximum values for the cap can be adjusted by a control in the Transmission panel (use the rightmost button in the button bar and choose Transmission from the popup menu. On a 2-party conference, if the other end reports packet loss in excess of 5%, the program assumes network congestion and automatically lowers the transmit cap. It will be adjusted back up toward the max value if loss reports are less than 5%. RECEIVE RATES BAR (New in version 0.83) Below the rates bar on your local window is a bar indicating the aggregate reception rate from all participants you are watching/hearing. If you are connected to a reflector, the reflector monitors packet loss for what it sends to you and maintains a send cap which it dynamically adjusts-- this cap value is sent to the receiver and is what you see displayed. The reflector will drop video packets in order to keep below the cap (presumably, the network would have dropped them anyway). Also, the reflector will send audio to you only if the encoding being used by the sender results in a stream low enough in bandwidth demand to "fit" under your current receive cap. If it will fit, it is given priority, dropping additional video packets as necessary. Using the Reception popup in the control panels under your local window you can set limits on min and max values for the reflector to use in setting your reception cap. The reflector operator may have set limits on what these (and send cap values too) can be. If you know you have only 28.8 Kbps capacity, you may want to set an upper limit. START-STOP You can start and stop sending or receiving on the fly (on the Conference Menu), without disconnecting and reconnecting. You may wish to "drop in" on a conference in receive-only mode, to see who's there, and then start sending when you see you would not be over-burdening the conference. You can also use the "pause" button-- it's use will stop the capturing of new frames, effectively freezing the video. Video will continue to be sent on the aging timer at a very low rate. Use of the pause feature is preferable to leaving an active camera on an empty room. If you want a message to be displayed, type it before pausing. PARTICIPANTS The Participants menu gives the means for opening particpant windows if they have been closed. It shows names of conference participants and their status. The local window is listed first, followed by conference senders, followed by receive-only participants ("lurkers"). Presently, you can have up to 7 remote windows plus the local window for a total of 8. Up to 24 participants will be listed on the menu. When a participant disconnects from a conference, the rates bar will show *DISCONNECTED* or, if no packets are received for a while, it will show *TIMED OUT*. If it shows no motion and very low framerate and bandwidth, it has probably been "paused." PARTICIPANTS LIST (New in version 0.83) There is a participant list (Show Participant List from the Participants Menu) which will show information about senders and lurkers and provide control of audio, access to statistics, IP address, etc. There are several options in the Prefs dialog to control how the list is resized, and you can twiddle small triangles to show or hide portions of the list, in a fashion similar to finder list views. The Participants list essentially consists of the button bars for various users, giving you the audio controls and the "eye-con" that shows who is watching your video stream. Enhanced indication of who is sending audio, who was the last speaker, who has recently been speaking, etc. is provided as well. You can tell the difference between someone having their audio completely off versus just off for you (big X, little x). As of 0.85, senders' names will appear in red if they are sending in color (using White Pine's Enhanced CU-SeeMe; they will appear to be "lurkers", users who are not sending video, since Cornell's CU-SeeMe cannot decode the color video data stream at present. FRAME DIFFERENCING Each time a remote video window opens or is resized (or you connect to "self" for testing) , a middle-gray field appears followed by an impromptu demo of the frame differencing and aging algorithms. The main compression in CU-SeeMe is achieved by comparing successive captured video frames and sending only the parts that change. Only changed 8x8 pixel squares are sent, except that if a square remains unchanged for a number of frames, it is sent anyway to heal image artifacts resulting from lost packets. Initially, the "age" of each square within the Refresh Interval is set to a random number, so the window will fill in gradually or as the subject moves. You can adjust the Refresh Interval in the Transmission panel. LARGE AND SMALL CU-SeeMe windows presently come in two sizes; 160x120 and 320x240. By default, the smaller size frames are grabbed and displayed. You can choose the larger window size in the Compression panel. (Caution: frame grabbers are generally much faster at producing the smaller windows.) Whichever size you transmit, you can display at either size. You can also display remote windows at either size. If you are getting the small size and displaying the large, three quarters of the pixels are generated by simple linear interpolation. (It's amazing it works as well as it does.) Using the zoom box (upper right in title bar) on the window will allow you to toggle quickly between large and small window sizes. SAVE WINDOW POSITIONS On the File menu is an item you can use to save current window positions. Until you use it, they open tiling left to right. You probably want to move them around while you remember the order they came up and then save. The Participants menu lists the order that windows open as you initially connect to a reflector. You can go back to defaults by chucking your preferences file. This facility will be improved to make it easier to get the results you want. PREFERENCES LIMIT ON NUMBER OF WINDOWS You can set a preference for the maximum number of windows you want to show at one time (default 8, set between 2 and 8), including your local window. This feature will help if you have limited screen real-estate. PREFERENCES - AUTOMATICALLY OPEN WINDOWS By default with Version 0.80, windows will not open when you connect to the reflector or when new participants join a conference. Especially if you are connected with a low-bandwidth link, such as a modem, you should not choose to automatically open windows. With another new preferences item, you can choose to hear a click each time someone joins a conference. With version 0.83, you can also choose to close windows automatically when someone disconnects or times out. DIGITIZERS The VDIG for the Spigot board maintains a fifo (first in first out) of frames, several frames deep, so each frame grabbed is three or four frames old. Each time the program grabs a frame, the VDIG gets another one and puts it at the far end of the fifo cue. When running at 30 fps, a 3-frame delay is not a big problem, but at 10 or fewer fps, the delay becomes significant in terms of lip-sync with telephone audio. The AV Mac's do much better at minimizing delay, but the Spigot generally runs faster. Also, the Spigot doesn't produce as good an image in the SlideWindow (and the Quickcam won't produce a 640x480 image at all). MESSAGE CRAWL The Message Crawl feature allows banner messages to appear and scroll on the screen. Simply type (with CU-SeeMe in the foreground), and the characters you type will be displayed at the bottom of your local video window and transmitted with your video. (Note that if you mirror your local image, you will have to read backwards as you type! But remote viewers will see it correctly.) This admittedly "cute" feature is actually useful for brief messages like "Call me. 515-222-3333." If you type the up-arrow, you can move the line to the top of the screen; down-arrow puts it back at the bottom. Left-arrow will animate the text, starting it scrolling to the left. A second left-arrow will speed it up. Right-arrow reverses the effect (slows or stops the crawl). Please remember that a scrolling message creates more movement eating up bandwidth. BE KIND TO THE INTERNET and other CU-SeeMe senders and receivers. Use scrolling sparingly; e.g., don't go away and leave a picture up with a message scrolling. STATS, INFO Buttons on the button bar on remote windows will bring up a stats panel or an info panel. The Stats panel shows amount of data sent and received and loss rates, both as measured locally for data received and what the other end is reporting. Info currently shows just the IP address and the version of CU-SeeMe in use remotely, stay tuned, here is where location, phone number, etc. will be displayed. AUDIO WINDOW In version 0.83, there is a new, spruced up, Audio window with level indicators for both your mic (as before) and for incoming audio. Also there is an input gain control to adjust the sensitivity of the mic and an output volume control to adjust the speaker level. The input level meter indicates the level to be transmitted and is affected by the setting of the input gain as well as by how loud you speak. The output level indicator shows the level received in the packets (it should show the same level the person sending saw on their meter) and is unaffected by the output volume control--that just controls how loud it sounds at your end. You can choose Push-To-Talk mode (PTT) or set a squelch level with small pointes beside the mic-level bar. In squelch mode, the lower pointer sets the level to start transmitting, and the upper pointer sets a higher level to be used when audio is being received from the net. In PTT mode, you press the Push to Talk button when you want to talk. You can also press the Control key on the keyboard. An advantage to PTT mode is that you will not forget about an open mic and be transmitting without realizing it. Meaning of the calibrations in the audio Panel: There are db scales on the level meters which are intended to be calibrated as described below (but we haven't finished, so it might not be exactly as described). Zero db on the meters should indicate maximum modulation of the digital envelope (+127, -128 in 8bit). This level of modulation should represent an input signal of 2v RMS or +-2.83v PP input on a PowerMac, if you have the input gain set to 0 db also. The output meter should show the content of the received digital samples and will not be affected by the setting of the output level control. When we get everything calibrated correctly, an output setting of 0 db (with input also set to 0) should give unity gain through the whole system: that is, the level at the line output of the receiving machine should equal (slightly delayed) that of the input at the sending machine. We are calibrating for PowerMac's since they have line level inputs and outputs. Earlier Mac's with low level (mic) inputs would need an appropriate attenuator. Signals which go above 0 db represent overmodulation or clipping. Ocaisional clipping of speech is usually acceptable. You can push in the speaker or mic icons in the audio window to turn receive and send off entirely. Or you can turn off audio from a particular particpant by pushing the speaker button under their video window (at their end, they will get the mic on your window X'd to indicate you won't hear when they speak). When you have incoming audio, the whole button bar highlights under the speaker's window. When they stop speaking, the button bar goes to a lighter gray and stays for 30 seconds, so you can tell who has been speaking recently. The last speaker is indicated by a black square at the left end of the button bar. Speakers in the last 10 minutes have a hollow square. The same indications are shown on the bars in the Participants list. Also, you can choose to turn off receiving from "Lurkers" as a group: standalone Maven (or VAT) clients who connect to the reflector or folks not sending video. If you click the mic button on someone's window, you establish a private talk channel to them. The mic buttons on all the other windows get X's to indicate that those participants won't hear you when you talk. Push again to go back to general conference audio sending. If instead of clicking, you push and hold, your private channel is there till you let go. You can choose the encoding you will use for sending with the Audio panel beneath your local video window. Since version 0.70b14, there has been an additional audio encoding-- Charley Kline's delta-mod 16K bps encoding (thankyou again, Charley). This should work much better with low bandwidth links, such as 64K ISDN links, and possibly with 28.8K modem connections. However, compared to the DVI 32K encoding, assuming no packets lost in either case, the sound quality is noticibly poorer, although speech is entirely intelligible. You will not be able to use this encoding to converse with anyone using an earlier version of CU-SeeMe. You will not be able to interoperate with VAT. You should be able to use it with recent versions of Maven. BUT. ***Now Hear This*** (and tell your friends): AUDIO WILL NOT WORK CONNECTING WITH A 14.4 MODEM!!! I know it would be great if it did, but it just doesn't. You need at least 16K bits/sec plus overhead just for the audio (when speaking or listening) and a 14.4 modem only does 14.4K. (Don't expect much gain, if any, from the v.42 compression, since the audio is already quite tightly encoded.) If you have 28.8, and folks are sending with the 16K delta-mod, there is a chance. We will be working to improve this situation in the future; we expect to have an 8Kbps coder soon, and it should work at 14.4. CONFERENCE MENU The Conference menu includes an item to open the Audio Window (if you've closed it) and an item to open the SlideWindow. In future, there will be more conference-management related items on this menu. Of course, as time goes by, we may need to re-organize the menus to make sense of future developments which aren't even gleams in the eye today. THE EYE Also on remote window button bars is an eye-con (sorry, couldn't resist). If open, it means that the person in the window is looking at you-- or actually that they have a window open on their desktop showing your video stream. (But it may be covered by another window.) If they close the window, the eye at your end closes. When the eye is open, it looks a little sinistre, some folks think. Icons are still being edited. THE BLACK BORDER If part of the video portion of a CU-SeeMe window is covered, the program uses QuickDraw to move video into the window. Otherwise, optimized routines draw directly to the screen. Particularly on a slower Mac, drawing with QuickDraw is very slow. So you will know when this is happening, a black border shows on such a window. There is a preference item to disable direct screen drawing, and omit black borders if direct screen drawing is disabled. For those doing demo's with powerbooks and projectors, wanting to run in Mirror mode, this choice should allow the desired operation. CONFERENCE ID The Connection dialog has a box for conference ID, default of zero. The reflector will reject all participants with the wrong number unless it has been configured with a conference ID of zero, meaning "don't care." If you have been told to use a particular ID, you can connect to a reflector that is being used for a "private" conference. CHAT WINDOW (NEW in 0.85) The built-in Chat Window can be used in place of the Talk "plug-in" module to let you type messages to other converence participants. You can Show or Hide the Chat Window by selecting the appropriate item in the Converence menu. The Chat Window consists of an upper output area and a lower input area. If you type into the input area and press the Return key, then your message will be sent to all other participants who have opended their Chat Window or Talk Window. You can re-size the Chat Window and after doing so you can drag the dividing line to give more or less space to each section. If you want to supress messages from some particular user, then double-click on one of the user's messages and respond to the dialog box. After you have selected the users to filter out, then you can click on the "Filter" button to activate the filter. (Note that this process can take several seconds if you have a great many lines in your output area.) If you click on the "Reset" button, then all filters will be discarded. When you remove one or more filters, then the corresponding output lines will re-appear in the output area. If you click on the "Config" button, then you can specify the font and size to be used in the Chat Window. *****Using SlideWindow****** To use SlideWindow, you must have QuickTime installed, even if you do not send video (if you can't send video, you can't send slides, but you can receive them if you have QuickTime). The reason is that SlideWindow uses QuickTime's JPEG compressor. Also, note that for someone to use up bandwidth sending slides to you, you must (1) have the SlideWindow open on your desktop, and you must (2) have the sender's video window open on your desktop. So, you can't send slides if you Stop sending of video, but you can if you pause the video. Open SlideWindow from the Conference Menu. SlideWindow, once open, will be in either Local or non-Local mode. If the Local button is not high-lighted, it means you are in Remote (i.e., non-Local) mode and will go to Local if you press the button. It will then be high-lighted (reverse). In either mode, you can receive slides if anyone sends. In Remote, you will see the slide as soon as it arrives (it will be "cued"). Summary: in Local mode you control which slide appears, grab slides, send them, cue slides for remote participants; in Remote (non-local) mode, you just watch, and someone else controls the slides you see. In Local mode you can use the New button to preview a capture into SlideWindow, freezing the normal video. When you press New, it changes to Grab; when you press Grab, the image in SlideWindow freezes and the camera returns to normal CU-SeeMe video. On a slow machine, the repeated 640x480 grabs may be very slow, so you may prefer to double-click to grab right away. If anyone else in your conference has SlideWindow open, your Send button will be active; press Send to transmit the image. Transmission will use 70% of available bandwidth, according to the current Cap. It will take a few seconds or up to a minute if the Cap is very low and the picture not very compressable. You may press New, Grab repeatedly to collect a series of slides and then send them only during the conference. Future versions will allow saving stacks of slides, sending them in advance, merging stacks, etc., but for now, if you quit the application (on purpose or otherwise) you will lose the whole stack. If you are in Local mode, you can use the Next and Previous buttons to move forward and back through whatever slides are in the stack, your own or those you have received. If you position to one of your own, you can use the mouse to put a cursor (Larger than the usual mouse pointer) on it. When you put this cursor in the window by clicking or draging, everyone else who has the slide will have their SlideWindow cue'd to it and show a copy of the pointer, moving if you move yours. You get rid of the cursor by draging it out of the window. When you click or drag, cursor messages go along with your video. At the receiving end, folks will see the top left square in your usual video window flickering strangely, an artifact but slightly useful to show who is transmitting a cursor. After you click to position the cursor, or stop draging, whoever received it will not accept cursor mesages from anyone else for 10 seconds. We plan, in the future, to improve the cursor handling, so that you will be able to point to other folks slides, tell who is pointing (currently, you know it is the owner of the slide, noted in the title-bar), and so on. See below under caveats and limitations. Also, there is no brightness and contrast control for the SlideWindow. With an AV PowerMac, the same controls will affect both windows (maybe not equally), but with other Mac's, you will have to manage the lighting. If you have a second camera and a switch, you may find it useful to mount it pointing down so you can position materials under it. We have tested with a device made from $20 worth of electronics to switch camera's under software control via a serial port and will add the option to CU-SeeMe and publish info on how to build the device. (One piece of bad news is that the QuickCam will not produce a 640x480 image. Presently, if you use SlideWindow with a QuickCam you will get a 320x240 image centered in the SlideWindow with garbage around it. We will at least expand the image, losing resolution, to fit in a future version.) ****SlideWindow Caveats and limitations****** * The SlideWindow, in general, and the remote cursor and slide cueing is not complete yet. Be aware of the following: a) You can't cue what you havn't sent, which is reasonable. If you click the cursor to cue and the cursor doesn't change, it means the slide hasn't been sent. b) You can only point to your own slides. Future version will permit you to point (different shape pointer) to someone else's slides in remote mode. Only one participant at a time able to use remote pointer. c) You can only cue your own slides. May change this in future. d) If you've been in Local, and you go to remote-mode, you automatically position to the last slide cued by someone else; i.e., you catch up to the current state of the conference. e) After someone else cues a slide, you can't cue anything for a 10 sec time-out, but you have no way to know when you can cue. f) Cueing and remote cursor only works for someone who is receiving your video (has a window open). The top-left square on the video window gyrates, as a side-effect of current hack to implement remote cursor, if that's interesting. Also, remember, you can only receive slides from someone if they're sending video and you have their window open. g) You would like to be able to save a stack of slides and send them out in advance, edit them, add non-camera images, etc. All reasonable, all in future. ------------------- CU-SeeMe Caveats, Known Problems--------------------- *0.70b15 contained a fix to a problem with handling Preferences files, especially when changeing back and forth from 0.70 to 0.80 versions. This fix erroneously announced as being in b14, previously. If you use a version before 70b15, you should not go back to it after using 80b1. Or erase the Prefs file first. * CU-SeeMe0.70b1 and FTPd used to have an incompatibility. At least on a Quadra 840AV it would crash after a while. Seems to be fixed with version 2.30 of FTPd, at least on an 8100AV. * Problems have been reported with LC's and Quadra 650's using Spigots. * If you are using the built-in digitizer (video-in jack) on a 7500 or 8500, then you must turn off virtual memory; CU-SeeMe cannot at present use the built-in digitizer when virtual memory is enabled. You must also avoid using Ram-Doubler in this configuration, since it causes the same problems with the digitizer. *****What do you need to use CU-SeeMe?***** Specifications to RECEIVE video: - Macintosh platform with a 68020 processor or higher - System 7 or higher operating system (it "may" run on system 6.0.7 and above) - Ability to display 16-level-grayscale (e.g. any color Mac) - an IP network connection - MacTCP - Current CU-SeeMe application - Apple's QuickTime, to receive slides with SlideWindow Specifications to SEND video: - The specifications to receive video mentioned above - Quicktime installed - A video digitizer (with vdig software) and Camera; Supported as of 0.70b13: -ONE OF- Video Spigot hardware (street price approx. $380.) AV-Mac (vdig built into system) ComputerEyes/RT SCSI port digitizer -PLUS- camera with NTSC 1vpp output (like a camcorder) and RCA cable. -OR- Connectix QuickCam serial port digitizer (with camera) ****NOTICE: NO OTHER DIGITIZERS WILL WORK UNTIL FURTHER NOTICE**** *****To obtain CU-SeeMe***** Use ftp (File Transfer Protocol) to: Server: cu-seeme.cornell.edu UserID: anonymous Password: directory: /pub/cu-seeme Download the latest README file, if there is one later than the date at the top of this file you are reading. Then get the application and other files you need. More detailed instructions for doing ftp downloads are further along in this README. All of the software you need is available on the server except for the Mac operating system, MacTCP, and Quicktime. Regarding the vdig (driver) for the SuperMac VideoSpigot: There are two spigot vdigs on the server. If you have Quicktime 1.5 or 1.0 the one called SpigotVDIG is the best. The other one on the server should only be used if all else fails. Caution: If you have Quicktime 1.5, you are supposed to need the spigot vdig called VDIG 1.5b18. ***But we have found that Mac's freeze when you move the mouse after starting to send video with the 1.5b18 version.*** SuperMac tells us recently that 1.5b18 seems to work with Quicktime 1.6.1 but you may need to boot with monitors set to millions of colors and then change to what you want. We continue to find 1.0 best. However note that some Macs some times wind up showing only "snow" in the local video window (and transmitting it). If that happens, you must POWER OFF and start up to get the Spigot to reset; just Restart will not do it. ****Where to get a camera**** A small monochrome CCD camera, suitable for CU-SeeMe is available from: Howard & Associates 545 Calle San Pablo Phone 805-383-7444 Camarillo, CA 93012-8550 FAX 383-7442 AOL: HOWENT for about $200 or a bit more. The price varies from time to time depending on the dollar/Yen situation. Howard Enterprises will fax you complete specs and the latest price list. A few specs: - The part number/name is: NCK - 9102 TeleCamera - 1/3" B/W FT CCD Pixels 400H x 504V (Effective 378H x 486v) - Video Out 1.0vpp 75ohm (Negative) RCA connector - Electronic Auto Iris (Magnification 260) - Resolution: Horiz Lines >230 picture center, >200 edge - S/N >40db - Min Illumination: 8 lux or less - Focal length 6.1 mm, Focal Distance 600mm - Power 12VDC 130mA - Dimensions 43 x 67 x 120 mm Developer Comments: Subjectively, it seems to give a picture somewhat less crisp than a typical camcorder, but perfectly useable. At 28-30 inches, it seems to frame about the right size for my taste. He has color models too, which provide better balance of tones even in b&w, but a little less light sensitivity. Note with earlier versions of CU-SeeMe, the lower sensitivity was a problem, but with 0.60, the brightness and contrast controls in the software allow you to compensate. The color model is probably a better bet and worth the small extra cost. *****Cards and Letters please***** Please send comments and suggestions to r.cogger@cornell.edu. Please send bug reports to cu-seeme-bugs@cornell.edu. You can be a great help in making CU-SeeMe a good, stable application. Be Seeing You. The CU-SeeMe Development Team Cornell University Information Technologies (CIT) Cornell University Ithaca, New York ************************************************************ How To Test CU-SeeMe To connect for a CU-SeeMe video conference, you must have the IP address of another CU-SeeMe user or the address of a CU-SeeMe reflector. If calling another user, the user must have CU-SeeMe running in *WAITING* status on their desktop. Use Connect or Connect to > in the Connections menu. We suggest that you begin by using two Macs, one connecting to the other, for a first test of CU-SeeMe. You will need to use a reflector to have a multiparty conference on the Internet. The CU-SeeMe reflector program is a Unix program which we have tested so far only on Sun Sparc workstations. If you are not familiar with IP networks, reflectors and/or your particular network set-up, ask your system administrator for help in operating a CU-SeeMe reflector. Instructions on how to operate a reflector follow. As of January, 1995, Cornell regularly runs a reflector for testing at 132.236.91.204. It is usually very busy, so consider NOT having the Open Windows Automatically preferences item checked, especially if you are on a modem link. *********************************************************** CU-SeeMe Maillist For anyone interested in following developments in CU-SeeMe or its use, an automated maillist has been established. The list is provided for unrestricted discussion of the CU-SeeMe packet video software under development by the Cornell CU-SeeMe project and its collaborators. Developers and project management all read the list. Currently, there are over 1000 members on the list, and there are usually several messages each day. We, and other users, would also like to hear about and discuss innovative uses of CU-SeeMe. Please write and tell us your story. To join the list, send a message with the following line as the entire message body to listproc@cornell.edu: subscribe cu-seeme-l (Substitute your actual name, please; it's amazing how many don't.) You should receive a confirming message with extensive instructions on use of the list. You can send mail to be distributed to the list to: cu-seeme-l@cornell.edu. Please be sure to send to this address ONLY when you want your message redistributed. ************************************************************ How to FTP CU-SeeMe Materials To obtain CU-SeeMe, use ftp (file transfer protocol) from cu-seeme.cornell.edu in the directory /pub/cu-seeme. The software (CU-SeeMe, vdig, etc.) are stored in MacBinary II format which will automatically be unpacked by Fetch. Documentation files have README and version numbers of corresponding software in their names and are simple text. Using Fetch to ftp: Fetch software may be used to ftp your CU-SeeMe software The Host is cu-seeme.cornell.edu, the User ID is "anonymous" and the directory is /pub/cu-seeme. Be sure to select the latest version of CU-SeeMe and the latest ReadMe file. Select "Automatic" for file type and use "get file" to transfer the software to your desktop. Using Mosaic to ftp: NCSA's Mosaic software can be used to ftp your CU-SeeMe software via gopher. Select "Open URL" from the file menu. Type gopher://cu-seeme.cornell.edu/ in the URL window. Select the directory /pub/cu-seeme. Be sure to select the latest version of CU-SeeMe and the latest ReadMe file. ************************************************************ HOW TO OPERATE A CU-SeeMe REFLECTOR: Obtain software and documentation -- a tar files with binary executables for many flavors of unix may be obtained via anonymous ftp from cu-seeme.cornell.edu in directory /pub/cu-seeme/reflector. Untar and install in the usual way. The README is available as txt file seperately if you want to read about it first before downloading. We have carried up to 30-some participants on a reflector (a real bash). But give some thought to how reflectors are linked together and how many streams are flowing on which paths. Currently, CU-SeeMe limits open windows to 8, but trying to have 8 folks each send one stream and receive 7 thru the same reflector, assuming it has just one ethernet interface, would mean 8 streams in and 56 out. If each tries to get 100Kbps through at some point in time, you would be trying to get 6.4 Mbit/sec thru the ethernet. That would probably be deep into the collision realm. With reflector networking features, you can set up a reflector net which could give a fairly large conference; PLEASE PAY ATTENTION TO THE LOAD YOU PUT ON THE INTERNET. ------------The fine print---------------- 22 Aug 96 The "two faces" Logo is a trademark of Cornell University. It is an original design by Aaron Freimark. The name "CU-SeeMe" is a trademark of Cornell University. CU-SeeMe(tm) Copyright (c) 1993, 1994, 1995, 1996, Cornell University Cornell hereby grants permission to use and copy, for any purpose, and to redistribute this binary executable version of the CU-SeeMe (tm) program (whole and unmodified), all without fee, provided that (1) any such redistribution shall realize no profit or gain, direct or indirect, (2) these copyright and permission notices, and those of Cornell's collaborators included below, appear on all copies and supporting documentation, (3) the name of Cornell not be used in advertising or publicity pertaining to distribution of the program without specific prior permission, and (4) notice be given in supporting documentation that copying and distribution is by permission of Cornell. Cornell reserves the right to modify this grant of permission in future releases. Decompiling, disassembling, or reverse engineering this program is not permitted. This notice makes no grant of permission or access to the source code for this program; such access is available by specific seperate license only. CORNELL MAKES NO REPRESENTATIONS OR WARRANTEES, EXPRESS OR IMPLIED. By way of example, but not limitation, CORNELL MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THIS SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS, OR OTHER RIGHTS. Cornell shall not be held liable for any liability with respect to any claim by the user or any other party arising from use of the program. The audio portion of CU-SeeMe was provided by Charley Kline's Maven. The following are notices of Charley Kline and UIUC and apply only to the Maven code contained in CU-SeeMe. These are generic notices; the reference to source code is inapplicable to this binary distribution: Charley Kline, cvk@uiuc.edu University of Illinois Computing and Communication Services 28 Feb 1994 Copyright (c) 1994 by Charley Kline and the University of Illinois Board of Trustees. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the University of Illinois, Urbana and its contributors. 4. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE TRUSTEES AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TRUSTEES OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.