TurboCast SE Training DIGITAL VISUAL COMMUNICATIONS System Overview DIGITAL VISUAL COMMUNICATIONS Simple Scenario Capture PC • • • • • • • • UDP Reflector Web Server TCP Clients Capture PC performs real-time encoding of audio and/or video data The encoded stream is forwarded to the Reflector over UDP Data is sent out and received in a specified UDP port number Reflector streams the data to clients over TCP Data is sent out and received in a specified TCP port number Clients access the webcast via a Java applet The Java applet is located on the web server HTML page user clicks on to view the webcast has the applet embedded DIGITAL VISUAL COMMUNICATIONS Secondary Input Capture PC UDP Reflector Web Server TCP Clients Maximum UDP port is 65535 Backup Capture PC Reflector has the capability to accept a secondary input. This input is used as a backup to the main input. Reflector will switch over to the secondary input if the data stream is lost on the main input. Clients cannot view the secondary input unless the reflector switches over to it. DIGITAL VISUAL COMMUNICATIONS Daisy Chaining Capture PC UDP Reflector Web Server Backup Capture PC TCP Clients There is no limit to the number of reflectors that are between the source (capture PC) and the client. UDP TCP Reflector Web Server Reflector Web Server TCP The main reflector forwards the data stream to two down stream reflectors via UDP. For every down stream reflector connected to the main reflector, the main reflector will send out the stream over different UDP ports. DIGITAL VISUAL COMMUNICATIONS Concurrent Instances Capture PC Capture PC UDP UDP Reflector Web Server Backup Capture PC TCP The limitation on the number of Clients instances that can be run is bound by the compute power of the server, amount of memory and server load. UDP TCP TCP Reflector Web Server Reflector Web Server TCP Concurrent instances of the reflector can be started. The key point to understand is the UDP and TCP ports must be different. All reflector UDP input ports must be different. If the reflector is streaming out to clients, each concurrent instance must stream to a different TCP port. DIGITAL VISUAL COMMUNICATIONS TCP/IP Information DIGITAL VISUAL COMMUNICATIONS Data Packages Data Headers Application Layer Transport Layer Internet Layer Network Access Layer • Application Layer data package is called a message. • Transport Layer data package is called a segment if it comes from the TCP protocol. It is called a datagram if it comes from the UDP protocol. • Internet Layer data package is called a datagram. • Network Access Layer data package is called a frame. DIGITAL VISUAL COMMUNICATIONS TCP/IP Networking Application Layer Network Applications Either Transport Layer Internet Layer Network Access Layer ? TCP UDP IP ARP/RARP Token Ring PPP (Modem) Ethernet Physical Network DIGITAL VISUAL COMMUNICATIONS Transport Layer • Transport Control Protocol (TCP) – TCP provides extensive error checking and flow control to ensure the successful delivery of data. TCP is a connection-oriented protocol. • User Datagram Protocol (UDP) – UDP provides extremely rudimentary error checking and is designed when TCP’s extensive control features are not required. UDP is a connectionless protocol. DIGITAL VISUAL COMMUNICATIONS Connection-oriented Protocol Establishes and maintains a connection between communicating computers and monitors the state of that connection over the course of the transmission. Each package of data sent across the network receives an acknowledgement, and the sending machine records status information to ensure that each package is received without errors. DIGITAL VISUAL COMMUNICATIONS Connectionless Protocol Sends a one-way datagram to the destination and doesn’t worry about officially notifying the destination machine that data is on the way. The destination machine receives the data and doesn’t worry about returning status information to the source computer. DIGITAL VISUAL COMMUNICATIONS Ports and Sockets Transport layer serves as an interface between network applications and the network. This is accomplished through a system of logical channels called ports. Each port has a port number to identify the port. Example: A client computer connecting to a server’s FTP application through TCP port 21. FTP … 20 21 22... TCP TCP and UDP data is actually addressed to what is called a socket. A socket is an address formed by concatenating the IP address and port number. For instance, the socket number 10.11.11.129.21 refers to port 21 on the computer with IP address 10.11.11.129 UDP Internet Layer Network Access Layer DIGITAL VISUAL COMMUNICATIONS From Computer A Well-known TCP ports Service tcpmux compressnet compressnet echo discard systat daytime netstat qotd chargen ftp-data ftp telnet smtp nsw-fe time name whois domain nameserver gopher TCP Port Number 1 2 3 7 9 11 13 15 17 19 20 21 23 25 27 37 42 43 53 53 70 Description TCP Port Service Multiplexor Management Utility Compression Utility Echo Discard or Null Users Daytime Network status Quote of the Day Character generator File Transfer Protocol Data File Transfer Protocol Control Terminal Network Connection Simple Mail Transfer Protocol NSW User System Time server Host name server NIC name Domain name server (DNS) Domain name server (DNS) Gopher Service DIGITAL VISUAL COMMUNICATIONS TCP Ports (cont.) Service rje finger http link supdup hostnames iso-tsap x400 x400-snd pop pop2 pop3 sunrpc auth sftp path uucp-path nntp nbsession news tcprepo UDP Port Number 77 79 80 87 95 101 102 103 104 109 109 110 111 113 115 117 117 119 139 144 148 Description Remote Job Entry Finger WWW service TTY link SUPDUP Protocol SRI-NIC host name server ISO-TSAP X.400 Mail Service X.400 Mail Send Post Office Protocol Post Office Protocol 2 Post Office Protocol 3 SUN RPC service Authentication service Secure FTP UUCP Path service UUCP Path service USENET Network News Transfer Protocol NetBIOS Session service News TCP repository DIGITAL VISUAL COMMUNICATIONS Well-known UDP Ports Service echo discard systat daytime netstat qotd chargen time name whois domain nameserver bootps bootpc tftp sunrpc ntp nbname nbdatagram snmp snmp-trap UDP Port Number 7 9 11 13 15 17 19 37 42 43 53 53 67 68 69 111 123 137 148 161 162 Description Echo Discard or Null Users Daytime Network status Quote of the Day Character generator Time server Host name server NIC name Domain name server (DNS) Domain name server (DNS) Bootstrap Protocol Service/DHCP Bootstrap Protocol Service/DHCP Trivial File Transfer Protocol SUN RPC service Network Time Protocol NetBIOS name NetBIOS datagram Simple Network Management Protocol Simple Network Management Protocol trap DIGITAL VISUAL COMMUNICATIONS TCP/UDP • TCP – Built for reliability – Extensive error checking and flow control • UDP – Built for speed – Simple control mechanisms UDP’s lean connectionless design makes it the choice when sending out real-time video and/or audio streams. If the source computer had to simultaneously open a TCP-style connection with every client in order to send a single broadcast, the result could be significant erosion of network performance. DIGITAL VISUAL COMMUNICATIONS Benefits • UDP provides a fast, efficient transport mechanism without incurring TCP overhead • Reflector provides the ability to determine where loading on the network will occur • Client TCP access provides easy access to stream via HTTP. Using HTTP addresses firewall issues. DIGITAL VISUAL COMMUNICATIONS License Key DIGITAL VISUAL COMMUNICATIONS License Key Format Format The license key is an alphanumeric string. The string is made up of 8 sets of 8 characters separated by a colon. Example 12S45R7A:AFE456B8:12WEF6RG:SVPG5EF8:1SW3QA6F:A2A4D6E8:1H34FR5E8:QWS45KIL Key Points User must enter in license key, otherwise software will not run. Keys are software specific. For example, you cannot use a Vrecorder key in place of an Arecorder key. Keys will expire. The expiration date is set based on when the user purchased the software and the length of service contract. Keys have a maximum number of clients it will allow. DIGITAL VISUAL COMMUNICATIONS License Key Contents Vrecorder and Arecorder Key Contents Information within the key license: Customer ID Major Version Minor Version Maximum number of streams: This is set to 5 Expiration Date Reflector Key Contents Information within the key license: Customer ID Platform: Any, Unix or Win32 Major Version Minor Version Maximum number of streams UDP forward Secondary Backup Expiration Date DIGITAL VISUAL COMMUNICATIONS Arecorder DIGITAL VISUAL COMMUNICATIONS Spec Sheet • GSM audio encoding • Minimum modem connection: 28.8 kbps • Ability to store webcast to file for timeshifted playback • Supports UDP or TCP streaming • UDP streaming to a reflector • TCP streaming allows up to 5 clients to hear webcast DIGITAL VISUAL COMMUNICATIONS Minimum Requirements • Operating System – Windows 98 or NT 4.0 with OSR 3 • • • • 200 MHz Pentium 32 MB RAM 5 MB disk space Audio Capture Hardware – Any Windows sound card capable of recording 8 kHz, 16 bits – Recommended: Creative Labs Soundblaster DIGITAL VISUAL COMMUNICATIONS Installation • setup.exe is located on the CD-ROM in folder Arecorder • User must enter in a valid serial number and license key • Install only checks license key format • User must restart PC DIGITAL VISUAL COMMUNICATIONS Arecorder UI Stop - stops Arecorder from streaming audio data. Time - displays length of time for live webcast DIGITAL VISUAL COMMUNICATIONS Broadcast - starts streaming audio data. Use Play when you do not want to record the webcast. Broadcast and save to file - starts streaming audio data and saves the webcast to a file. Record is used when you want to save the webcast for later playback. Record will also send the audio stream out to a reflector or attached clients, depending on how Arecorder is configured. Configuration Broadcast HTTP Max Clients - Enter in the number of clients that can connect to Arecorder. The maximum number of clients is 5. When HTTP Max Clients is selected the system will broadcast the live webcast via HTTP. In this configuration the system will become a capture station/reflector. The system will only stream the data over HTTP. Streaming via UDP is disabled. See Serving Clients from Arecorder for additional details. Reflector URL - Enter in the URL or IP address of the reflector to which the live webcast will be sent. In this configuration Arecorder will send the live webcast to the reflector via UDP. HTTP streaming is disabled. Port - Required information for the system to stream the live webcast. - When HTTP Max Clients is selected, Port must be set to the HTTP port being used to accept new client connections. - When Reflector URL is selected, Port must be set to the input UDP port the reflector will be receiving the live webcast stream. DIGITAL VISUAL COMMUNICATIONS Configuration Record Always save to... - When recording an audio broadcast, you can specify the directory and file name for the recording to go to. This configuration will always store a recording to this setting. Any previous saved recording will be overwritten. Ask every time - Arecorder will ask you for the location and file name to save the recording to. It will ask every time a new recording is made. DIGITAL VISUAL COMMUNICATIONS Arecorder Key Screen To Edit or Delete a key, select the desired key so it is highlighted. If all the license keys are deleted or have expired, Arecorder will prompt you to enter in a license key when the application is started. If you do not enter in a valid license key, Arecorder will not run. Add - allows you to add in a new key. Enter in the new license key in the Add Key dialog box. Select OK to add the new key. Edit - opens the Edit Key dialog box. Make the required changes and select OK to save the changes. DIGITAL VISUAL COMMUNICATIONS Delete - removes the highlighted license key. Help Help About screen From the Arecorder menu, select Help, About Arecorder... Help Files Help files are formatted in HTML. The user can access this information in two ways: From the Arecorder menu, select Help, Arecorder Help From the Windows Start menu, select Programs, Arecorder, Help Files DIGITAL VISUAL COMMUNICATIONS Recording a webcast • In the record section of the Configuration screen, select Always save to… or Ask every time • Select the Broadcast and Save to File button on the Arecorder screen. Arecorder will begin to webcast the event and record the webcast to the designated file. • Select Stop to stop the webcast and recording of the webcast. • The file extension is .gsm • The file size is approximately 99k/60 seconds. • The data is written to a file as the event occurs. DIGITAL VISUAL COMMUNICATIONS Invalid/expired key • This screen will appear when the key has expired or is invalid. • After selecting OK, the Arecorder Key screen will appear • The user will need to enter in a valid key • Once a valid key is entered, Arecorder will start DIGITAL VISUAL COMMUNICATIONS Vrecorder DIGITAL VISUAL COMMUNICATIONS Spec Sheet • • • • H.263 video encoding GSM audio encoding 28.8 to 128 kbps transfer rate Ability to store webcast to file for time-shifted playback • Supports UDP or TCP streaming • UDP streaming to a reflector • TCP streaming allows up to 5 clients to view webcast DIGITAL VISUAL COMMUNICATIONS Minimum Requirements • Operating System – Windows 98 or NT 4.0 with OSR 3 • • • • 200 MHz Pentium 32 MB RAM 5 MB disk space Audio/Video Capture Hardware – Recommended: • Video Capture: Viewcast.com Osprey-100 • Audio Capture: Creative Labs Soundblaster – Others: • Audio/Video capture: Winnov Videum A/V DIGITAL VISUAL COMMUNICATIONS Installation • setup.exe is located on the CD-ROM in folder Vrecorder • User must enter in a valid serial number and license key • Install only checks license key format • User must restart PC DIGITAL VISUAL COMMUNICATIONS Vrecorder UI Video window displays encoded video fps - displays the current frames per second kbps - displays the current transfer rate Broadcast and Save To File - starts streaming audio and video data and saves the webcast to a file. Use this when you want to broadcast and save the webcast for later playback. Stop - stops Vrecorder from streaming audio and video data. Broadcast Only - starts streaming audio and video data. Use Broadcast when you do not want to record the webcast for later playback. Time - displays length of time for live webcast DIGITAL VISUAL COMMUNICATIONS Configure - Movie Quality • Frame Rate - sets the encoded frame rate • Image Quality - sets the picture resolution • Refresh Interval - sets how often the entire picture is refreshed •Synch Skew - May be used to fine tune audio/video synchronization (Lip Synch). •Total Bit Rate - Used to limit the total average bit rate of the output stream Note that to maintain the selected average bit rate, the actual frame rate may be lower than set with the Frame Rate slider. DIGITAL VISUAL COMMUNICATIONS Configure - Transfer Mode Broadcast HTTP Max Clients - Enter in the number of clients that can connect to Vrecorder. The maximum number of clients is 5. When HTTP Max Clients is selected the system will broadcast the live webcast via HTTP. In this configuration the system will become a capture station/reflector. The system will only stream the data over HTTP. Streaming via UDP is disabled. See Serving Clients from Vrecorder for additional details. Reflector URL - Enter in the URL or IP address of the reflector to which the live webcast will be sent. In this configuration Vrecorder will send the live webcast to the reflector via UDP. HTTP streaming is disabled. Port - Required information for the system to stream the live webcast. - When HTTP Max Clients is selected, Port must be set to the HTTP port being used to accept new client connections. - When Reflector URL is selected, Port must be set to the input UDP port the reflector will be receiving the live webcast stream. Record File Name When recording a video broadcast, you can specify the directory and file name for the recording to go to. This configuration will always store a recording to this setting. Any previous saved recording will be overwritten. DIGITAL VISUAL COMMUNICATIONS Configure - Configuration Video Device - select the video device that will be used to capture the live video. Video Format - select Software H263 Audio Device - select the audio device that will be used to capture the live audio. Audio Format - select Software GSM DIGITAL VISUAL COMMUNICATIONS Vrecorder Key Screen To Edit or Delete a key, select the desired key so it is highlighted. If all the license keys are deleted or have expired, Vrecorder will prompt you to enter in a license key when the application is started. If you do not enter in a valid license key, Vrecorder will not run. Add - allows you to add in a new key. Enter in the new license key in the Add Key dialog box. Select OK to add the new key. Edit - opens the Edit Key dialog box. Make the required changes and select OK to save the changes. DIGITAL VISUAL COMMUNICATIONS Delete - removes the highlighted license key. Help Help About screen From the Vrecorder menu, select Help, About Vrecorder... Help Files Help files are formatted in HTML. The user can access this information in two ways: From the Vrecorder menu, select Help, Vrecorder Help From the Windows Start menu, select Programs, Vrecorder, Help Files DIGITAL VISUAL COMMUNICATIONS Recording a webcast • In the Record section of the Configuration screen, select the Transfer Mode tab. • Enter in the file name and location the recorded file will be saved to. • Select the Broadcast and Save to file button. • Vrecorder will begin to webcast the event and record the webcast to the designated file. • Select the Stop button to stop the webcast and recording to file. • The file extension is .vtv • File size is dependent upon the bit rate. To estimate the required disk space, for a sequence of S seconds, at a bit rate of R, then the amount of disk space needed is S*R. • The data is stored to the file as the event occurs. DIGITAL VISUAL COMMUNICATIONS Invalid/expired key • This screen will appear when the key has expired or is invalid. • After selecting OK, the Vrecorder Key screen will appear • The user will need to enter in a valid key • Once a valid key is entered, Vrecorder will start DIGITAL VISUAL COMMUNICATIONS Reflector DIGITAL VISUAL COMMUNICATIONS Spec Sheet • Windows NT or Sun Solaris • Receives input stream via UDP • Outputs stream via UDP and TCP – UDP to downstream Reflectors – TCP to attached clients • Secondary Input backup support • Supports concurrent instances for multiple broadcasts DIGITAL VISUAL COMMUNICATIONS Minimum Requirements • Operating System – Windows 98 or NT 4.0 with OSR 3 – Sun Solaris 2.6 • • • • 266 MHz Pentium 32 MB RAM 1 MB disk space Web Server – Windows 98: Personal Web Server – Windows NT: IIS – Sun Solaris: Apache or Netscape Enterprise Standard Edition DIGITAL VISUAL COMMUNICATIONS 98/NT Installation • setup.exe is located on the CD-ROM in folder reflector\reflector98NT • User must enter in a valid serial number and license key • Install only checks license key format • reflector.exe can be installed anywhere on the server • Applets must be installed below the web server root. DIGITAL VISUAL COMMUNICATIONS Solaris Install • • • • • • • Perl must be installed Located on the CD-Rom in Reflector\ReflectorSol is rfsol.pl and reflector.tar Type perl rfsol.pl to run the install script Users must enter in a directory for software installation. User must enter in a valid serial number and license key Install only checks license key format Source directory prompt is looking for the location of the reflector.tar file DIGITAL VISUAL COMMUNICATIONS Solaris Created Directories • Installation create four subdirectories: – vapplet contains the Vviewer Java applet files. This directory must be moved to be within the web root – rapplet contains the Aplayer Java applet files. This directory must be moved to be within the web root. – help contains all the HTML help files. Select reflector.html to view the files. – Rfsol contains the following files: reflector.exe, reflector.key and serial.no. If this directory is moved, all three files must be moved to the same location. DIGITAL VISUAL COMMUNICATIONS System Information • Serial Number – Contained in text file called serial.no – File is located in installed directory • License Key – Contained in text file called reflector.key – File is located in installed directory – File must be in the same directory as the executable (reflector.exe) DIGITAL VISUAL COMMUNICATIONS Invoking Reflector • Command line executable • Windows 98 and NT you cannot close the DOS window after you have invoked the software. • Go to installed directory and type in reflector -arguments DIGITAL VISUAL COMMUNICATIONS Invalid Key • Invalid license key or key that is not formatted correctly will product this output: VTEL Reflector, Version 2.0 Copyright (c) 1997-1999 VTEL Invalid key was found. Exiting... DIGITAL VISUAL COMMUNICATIONS Missing key file • The following will be seen if reflector.key is not in the directory where the executable is: VTEL Reflector, Version 2.0 Copyright (c) 1997-1999 VTEL Could not read key file: Reflector.key Exiting... DIGITAL VISUAL COMMUNICATIONS Expired key • Following will be seen if the license has expired: VTEL Reflector, Version 2.0 Copyright (c) 1997-1999 VTEL Expired key was found. Exiting... DIGITAL VISUAL COMMUNICATIONS No Arguments • Invoking reflector without any arguments will display: VTEL Reflector, Version 2.0 Copyright (c) 1997-1998 VTEL Key Information: Program Expires: 6/8/99 Key File: Reflector.key Max Streams: 500 UDP Forwarding: Yes Second Input: Yes Multicast: No Everything fine… Reflector now active. DIGITAL VISUAL COMMUNICATIONS Help reflector -help produces this output: VTEL Reflector, Version 2.0 Copyright (c) 1997-1999 VTEL Key Information: Program Expires: 6/8/99 Key File: Reflector.key Max Streams: 500 UDP Forwarding: Yes Second Input: Yes Multicast: No Reflector -file configuration_file_name or Reflector -keyfile file [ -in1|-in host port ] | [ -input1|-input port ] [ -in2 host port ] | [ -input2 port ] [ [ -full host_n port_n ] ...] [ -acceptnew none | http] [ -output http_server_port ] [ -help ] [ -silent ] [ -verbose] [ -max MaxClients] [ -maxtime MaxSeconds ] [ -maxerrortime MaxErrorSeconds ] [ -maxsilence MaxSourceSilenceTime ] [ -detach ] Default maxtime: 0 seconds Default maxerrortime: 300 seconds Default max: 500 (max key will allow) Default maxsilence: 5 seconds Default acceptnew: http NOTE: Some of these options require activation in the key DIGITAL VISUAL COMMUNICATIONS Input Arguments –input1 port The Reflector accepts input from either the capture station, or from another upstream Reflector on a UDP input port. This specifies the UDP port number. Thus, specifying –input1 3000 means to receive data on the input UDP port #3000. Note: If no secondary inputs are used, the Reflector can be given this argument instead: –input port Example: -input 3000 or -input1 3000 –in1 host port This is similar to the –input1 argument, except that data must be received from the specified host at the specified UDP port. This provides a measure of security. UDP data sent to the reflector from other hosts to the input port will not be accepted. Note: If no secondary inputs are used, the Reflector can be given this argument instead: –in host port Example: -in host1.com 3000 or -in1 host1.com 3000 DIGITAL VISUAL COMMUNICATIONS Input Arguments –input2 port The Reflector is capable of receiving data from a second input port. If there has been no data received on the primary input port as specified in the –input1 parameter, the program will choose to start forwarding data it receives from this secondary input port. See –maxsourcesilence for information on setting the time length for switching over to the secondary input port. Example: -input2 3000 –in2 host port This is similar to the input2 argument, except that data must be received from the specified host at the specified UDP port. This provides a measure of security. UDP data sent to the reflector from hosts other than the one specified to the input port will not be accepted. Example: -in2 host2.com 3434 DIGITAL VISUAL COMMUNICATIONS Forward Data Arguments –acceptnew none | http This specifies whether the Reflector should accept new client connections. None means not to accept any new connections. Http means to accept client HTTP connections. The default is to always accept HTTP. Example: -acceptnew none –full host port This arguments means that the reflector should forward any data it receives on the input port to the given host at the given port. Example: -full host1.com 5645 –output httpserverport This means the reflector will accept new client HTTP connections at the given port. Edge reflectors that serve clients always have this argument. Example: -output 3444 DIGITAL VISUAL COMMUNICATIONS General Arguments –detach UNIX only. This causes the program to detach from the console and run in the background. It is a good way to use when running it as a daemon. Example: –detach –help This prints a help message. Example: –help –silent Operate silently. Default mode. Example: –silent –verbose Operate the opposite of silently, by printing to the terminal a spinning icon each time data is received on the input. This is a good way to check and see if an input connection is actually receiving data. Example: –verbose DIGITAL VISUAL COMMUNICATIONS Max Arguments –max maxClients Specifies the maximum number of clients to accept. It cannot exceed the number in the license key. Default is the maximum number allowed by the license key. Example: –max 100 –maxerrortime timeinseconds The max error time is the time in seconds during which a reflector will try to send data to a client. If the client does not accept the data within that time period, the reflector will terminate the connection to the client. Default is 300 seconds. Example: –maxerrortime 120 –maxsourcesilence timeinseconds This is the maximum amount of time an input source can be silent before the reflector switches to the secondary input. See –input1 and –input2 for an explanation of primary and secondary input sources. Default is 5 seconds. Example: –maxsourcesilence 10 –maxtime timeinseconds This stipulates the maximum amount of time in seconds that a client can be attached to the reflector. This is useful when implementing a system where people can only watch X seconds of a broadcast. If maxtime is set to 0, the reflector will not force the client off. Default is 0 seconds. Example: –maxtime 30 DIGITAL VISUAL COMMUNICATIONS File Argument –file configuration_file_name The Reflector program can read its input arguments from a file. Thus, arguments such as –input 3000 can be placed in a file, and the name of the file given to the program through this argument. There is a sample file, arg_file.txt, located in the installed directory. Example: –file arg_file.txt Sample file content: -input 3333 -output 3334 -verbose DIGITAL VISUAL COMMUNICATIONS Examples A Reflector receives input on port 6000, forwards to another reflector at address 198.16.7.22 at port 6700, while also serving data to applet clients at port 5000: reflector –input 6000 –full 198.16.7.22 6700 –output 5000 –verbose An internal reflector reflects to two hosts, host1.com at port 3000 and host2.com at port 4000, while receiving data on input port 3456. This internal reflector does not accept any HTTP client requests. reflector –input 3456 –full host1.com 3000 –full host2.com 4000 –acceptnew none DIGITAL VISUAL COMMUNICATIONS Number of clients The number of clients can be calculated using Stan’s Equation. If the transfer rate is R, the bandwidth available to TurboCast is B, then # of clients = C * B / R, where 0 > C > 1 C is Stan’s Constant, and the suggest value is 0.7. This value is based on the theory that things state to erode after 70% utilization. To be conservative, use 0.3 to 0.5. DIGITAL VISUAL COMMUNICATIONS Applets DIGITAL VISUAL COMMUNICATIONS Applet FYI The Applet tag will attach a Java applet to the html page created. The applet tag is used for live and recorded video and audio webcasts. There are two applets available, the Vrecorder Vviewer applet and the Arecorder Aplayer applet. The applet tag is inserted between the <BODY></BODY> HTML tags. The default directory for the Vviewer applet is webroot/vapplet. Contained in this directory is the Vviewer.jar and a number of gif images. This directory can be placed anywhere within the web server. All files, Vviewer.jar and the gif images, must be located within the same directory. The default directory for the Aplayer applet is webroot/rapplet. Contained in this directory is the Aplayer.jar and a number of gif images. This directory can be placed anywhere within the web server. All files, Aplayer.jar and the gif images, must be located within the same directory. The resolution of Vviewer is QCIF (144x177) DIGITAL VISUAL COMMUNICATIONS Syntax <APPLET archive=archive_jar code=applet_type codebase=“URL” name=applet_name height=background_height width=background_width vspace=vspace_value hspace=vsapce_value align=align_value> <PARAM <PARAM <PARAM <PARAM NAME="background" VALUE="color_value"> NAME="AUTOSTART" VALUE="TRUE/FALSE"> NAME="srcport" VALUE="http_output_port"> NAME="src" VALUE="file_name"> </APPLET> DIGITAL VISUAL COMMUNICATIONS Applet Arguments Archive Required. Based on the applet being loaded setting will be: Vviewer applet - Vviewer.jar Aplayer applet - Aplayer.jar Code Required. Based on the applet being loaded the setting will be: Vviewer applet - VviewerApplet.class Aplayer applet - Aplayer.class Codebase Optional. Defines the directory where the classes for the applet are stored. If this attribute is not specified, the directory of the HTML page is searched. An example is "http://host1.com/vapplet" Name Optional. User defined. Provides a name for the applet being loaded into the browser. Height Required. Defines the height of the area the applet will cover. The minimum requirements are listed below. If the value is set higher than the minimum, the BACKGROUND PARAM can be used to change the background color. Vviewer applet - 240 Aplayer applet - 175 Width Required. Defines the width of the area the applet will cover. The minimum requirements are listed below. If the value is set higher than the minimum, the BACKGROUND PARAM can be used to change the background color. Vviewer applet - 220 Aplayer applet - 300 DIGITAL VISUAL COMMUNICATIONS Applet Arguments (cont.) Align Optional. Defines how the applet is aligned in the HTML page. Any of the ALIGN options are valid. vspace Optional. Defines how many pixels of space are reserved above and below the applet. hspace Optional. Defines how many pixels of space are reserved on either side ofthe applet. DIGITAL VISUAL COMMUNICATIONS PARAM Arguments Background Optional. Establishes the background color of the applet. If the HEIGHT or WIDTH setting is higher than the minimum, the color of the area around the applet will be set the value entered. Colors are specified as a hexadecimal number. Autostart Optional. Used only when streaming a stored Arecorder file. Default is FALSE TRUE - the stored Arecorder file will automatically start playing when after the Aplayer applet is loaded. FALSE - the Aplayer applet will load and the client has to press the PLAY button to hear the file. Srcport Required when streaming a live webcast. The value is set to the http output port to which the reflector is streaming. The reflector must be configured to allow http clients to attach, and the http port must be specified as a command line argument. Src Required when streaming a stored file. The value is set to the file name. The file must be placed in the webserver root or lower. It is not necessary to install Reflector software on the webserver to stream stored files. Extensions: Vrecorder file - .vtv Arecorder file - .gsm File Size: Vrecorder - the file size is dependent upon the movie quality settings. The default settings will produce a file size approximately 450k/60 seconds. Setting the frame rate at 10 will produce a file size approximately 675k/60 seconds. Arecorded - approximately 99k/60 seconds DIGITAL VISUAL COMMUNICATIONS Live Video Example Live Video Webcast Example <html> <head><title>Live Video Webcast</title></head> <body> <APPLET archive=Vviewer.jar code=VviewerApplet.class name=LiveVideo height=240 width=220> <PARAM NAME="srcport" VALUE=3334> </html> </APPLET> </body> A sample file, LiveVideo.html, can be found where the Vviewer applet code is installed. DIGITAL VISUAL COMMUNICATIONS Live Audio Example Live Audio Webcast Applet Example <html> <head><title>Live Audio Webcast</title></head> <body> <APPLET archive=Aplayer.jar code=Aplayer.class name=LiveAudio height=175 width=300> <PARAM NAME="srcport" VALUE=3334> </html> </APPLET> </body> A sample file, LiveAudio.html, can be found where the Aplayer applet code is installed. DIGITAL VISUAL COMMUNICATIONS Time-shifted playback DIGITAL VISUAL COMMUNICATIONS Overview To playback a recorded Vrecorder or Arecorder webcast: The recorded file(s), filename.vtv or filename.gsm, must reside on a web server. Clients access the recorded webcast file via a Java client that is embedded into a HTML file. To playback recorded webcast files, it is not necessary to have the Reflector software installed on the web server. File reads are handled via standard TCP. (To put it in a known context, it is the same as when a file is accessed via FTP.) Sample files, RecordedVideo.html and commercial.vtv, can be found where the Vviewer applet code is installed. A sample file, RecordedAudio.html and commercial.gsm, can be found where the Aplayer applet code is installed. DIGITAL VISUAL COMMUNICATIONS Recorded Video Examples Recorded Video Webcast Example <html> <head><title>Recorded Video Webcast</title></head> <body> <APPLET archive=Vviewer.jar code=VviewerApplet.class name=RecordedVideo height=300 width=300> <PARAM NAME="src" VALUE="commercial.vtv"> </APPLET> </body> </html> A sample file html, RecordedVideo.html, and vtv file, commercial.vtv, can be found wher the Vviewer applet code is installed. DIGITAL VISUAL COMMUNICATIONS Recorded Audio Examples Recorded Audio Webcast Example <html> <head><title>Recorded Audio Webcast</title></head> <body> <APPLET archive=Aplayer.jar code=Aplayer.class name=RecordedAudio height=550 width=320> <PARAM NAME="src" VALUE="commercial.gsm"> <PARAM NAME="autostart" VALUE="TRUE"> <PARAM NAME="background" VALUE="008080"> </html> </APPLET> </body> A sample html file, RecordedAudio.html, and gsm file, commercial.gsm, can be found where the Aplayer applet code is installed. DIGITAL VISUAL COMMUNICATIONS Serving Clients from Arecorder or Vrecorder DIGITAL VISUAL COMMUNICATIONS Things to know • • • • • Intended for demo capability Limited reflector capability built-in License key limits support to 5 clients Only available on Windows 98/NT Must be installed on a PC with a web server • Data will stream to clients over TCP • UDP streaming is disabled DIGITAL VISUAL COMMUNICATIONS Minimum Requirements • Operating System/Web Server – Windows 98 with Personal Web Server – NT 4.0/OSR 3 with IIS • • • • 200 MHz Pentium 32 MB RAM 5 MB disk space Vrecorder Audio/Video Capture Hardware – Recommended: • Video Capture: Viewcast.com Osprey-100 • Audio Capture: Creative Labs Soundblaster – Others: • Audio/Video capture: Winnov Videum A/V • Arecorder Audio Capture Hardware – Any Windows sound card capable of recording 8 kHz, 16 bits – Recommended: Creative Labs Soundblaster DIGITAL VISUAL COMMUNICATIONS Installation • Install the capture software, Vrecorder or Arecorder • Install the Java applets. Run setup.exe located in the applets folder on the TurboCast CD-ROM • Select the applet to be installed • By default, applets will be installed in webroot\vapplet and webroot\rapplet DIGITAL VISUAL COMMUNICATIONS Configuration • Select HTTP Max Clients. – A maximum of 5 clients are allowed – Data will stream to clients via TCP • Port must be set to the HTTP port the clients will attach to – The port number must match the srcport setting in the HTML file that contains the Java applet DIGITAL VISUAL COMMUNICATIONS Troubleshooting DIGITAL VISUAL COMMUNICATIONS System There are 3 components that are involved in a webcast: The capture station that connects to the video/audio source and performs multimedia encoding. The station transmits its data stream to the network of reflectors. The reflector receives input streams of data and forwards the data to other reflectors. It also can serve the video data to the client applet. The applet which plays back multimedia data. The applet connects to a reflector in order to receive the data for playback. Because the VTEL Turbocast software is made up of 3 components, the user has to set up each of the components with the correct parameters to ensure that the whole system operates properly. In most cases, these simple techniques will solve problems where the user has either entered the wrong port number, or wrong host name, or some other problem involving interconnecting the pieces. DIGITAL VISUAL COMMUNICATIONS System • The capture piece streams data to the first "root" reflector. Make sure that the output host address and output port number of the root reflector is properly specified. For example, if the capture station is sending to reflector.customer.com at port 3444, then the reflector on that machine must be run with a -input 3444 argument. • Reflectors may not get data if the capture station is not sending to it. It is easy to tell if a reflector is getting any data. Run the reflector with a -verbose argument. If a reflector is receiving data from its source (either the capture station itself, or another upstream reflector), the reflector will print a twirly series of characters to indicate data reception. • It is also easy to tell if a reflector is getting any data if it is run without the verbose argument, or if there is no access to the console where the reflector is being run. This method will also allow one to verify that an applet can connect to the reflector. Since reflectors serve data through HTTP, one can simply connect to the reflector with telnet. For example, if the reflector at reflector.customer.com serves output on HTTP port 6576, one can connect to it by using this command: telnet reflector.customer.com 6576. If the connection is successful, the reflector is accepting connections on that port. If there is data, the reflector will forward data and the telnet program will print a stream of binary characters. • If the Arecorder or Vrecorder capture program is configured for HTTP Max Clients, where there is no reflector and the capture program functions as a server to clients also, one can use the same technique to check that the capture program is both accepting connections and outputting data. Simply telnet to the capture station at the HTTP port specified using the command line: telnet capture-station.customer.com port number. One additional step is required: enter GET /media HTTP/1.0 followed by hitting ENTER twice. This sends a HTTP GET command to the capture station and will induce it to begin sending data out. • Make sure that the applet's parameters refer to the output port on which the reflector is serving data. For example, if the reflector is serving data at HTTP port 8976, the reflector must have <param name=srcport value=8976> in the HTML file including the applet. DIGITAL VISUAL COMMUNICATIONS Reflector The reflector is run as a command line application on all platforms. • Multiple reflectors can be run if there is more than one concurrent broadcast. When running multiple reflectors on one computer, the input and -output port argument must be different for each occurrence of the reflector software. • When running a reflector on Unix, the -detach argument can be used to run it in the background. When running a reflector on Windows, one must take care not to close the DOS window in which the reflector is executed. If you are using PCAnywhere to manage a PC remotely, the DOS window must be configured not to be automatically closed by PCAnywhere. • If the Vviewer applet is seeing multiple streams, check the reflector input and output ports. When running multiple instances of the reflector each instance must use different UDP and TCP ports. DIGITAL VISUAL COMMUNICATIONS Capture • Winnov Videum cards in release 2.7.2 have a problem switching video input sources from Composite to S-video. The choice made in the initial configuration of the driver software forces that input source to be chosen for Vrecorder. • Winnov Videum cards in release 2.7.2 also have a problem with the audio input. When using this card, take the audio input from another audio source, otherwise the video frame rate will fall. • When streaming to a reflector, make sure that UDP mode is chosen instead of HTTP mode. In HTTP mode, the capture station becomes a server. • No audio is being played back by the applet. Check to make sure the cable on the sound card is connected to the sound input. Ensure the proper input on the sound properties control panel is selected. Check using the sound properties control panel that the correct input is selected for recording. Check with the Sound Recorder application that comes with Windows that the audio can be recorded to a file. The Sound Recorder gives good visual indication of the volume levels when it is recording. If the Sound Recorder works, Vrecorder and Arecorder should also. DIGITAL VISUAL COMMUNICATIONS Vviewer Applet • The message "Cannot find class" or "Cannot load applet" indicates that the applet file, Vviewer.jar, included in the distribution was not referenced properly in the HTML. The applet file holds the Java code that make up the client applet. It's location must be specified in the initial applet tag through the use of the codebase and archive statements. Please refer to your Java/HTML manual for further details. • If the browser displays a gray square, it is likely the archive or code setting was not referenced properly in the HTML. • If the GUI frame surrounding the applet does not appear, it is likely that the GIF files included in the distribution are not resident together with the .jar file. • Vviewer error message "Vviewer could not contact the server. It may be out of connections. Please try again later." This could be due to one of the following problems. •The reflector is not running or not receiving a video stream from the Vrecorder capture application. •The applet HTML file has the incorrect HTTP port.For example, if the reflector is serving data at HTTP port 8976, the HTML file must have <param name=srcport value=8976>. If the port value is set incorrectly the applet will not be able to connect to the server. •If this message is seen when trying to view a recorded webcast, check to see if the file being referenced in the HTML file is correct. Please note that the recorded file must be placed at the web server root or lower. • A sound card is needed. If there is no sound card, the applet will not play. • Video starts and stops. Data overload problem. Reduce the bit rate the Vrecorder is sending. • Audio cuts in and out. Data overload problem. Reduce the bit rate the Vrecorder is sending. DIGITAL VISUAL COMMUNICATIONS Aplayer Applet • The message "Cannot find class" or "Cannot load applet" indicates that the applet file, Aplayer.jar, included in the distribution was not referenced properly in the HTML. The applet file holds the Java code that make up the client applet. It's location must be specified in the initial applet tag through the use of the codebase and archive statements. Please refer to your Java/HTML manual for further details. • If the browser displays a gray square, it is likely the archive or code setting was not referenced properly in the HTML. • If the GUI frame surrounding the applet does not appear, it is likely that the GIF files included in the distribution are not resident together with the .jar file. • Vplayer error message "Vplayer cannot connect to the audio server. The server is out of connections. Please try again later." This could be due to one of the following problems. •The reflector is not running or not receiving a video stream from the Arecorder capture application. •The applet HTML file has the incorrect HTTP port.For example, if the reflector is serving data at HTTP port 8976, the HTML file must have <param name=srcport value=8976>. If the port value is set incorrectly the applet will not be able to connect to the server. • Vplayer message "Player Destroyed" usually indicates that the recorded file being referenced in the HTML file cannot be found. Please note that the recorded file must be placed at the web server root or lower. • A sound card is needed. If there is no sound card, the applet will not play. • Audio is cutting in and out. The problem most likely is the user is connected at 14.4 kbps. The user must be connected at a rate of 28.8 or greater. Check to see what the actual connection is, not the modem they are using. DIGITAL VISUAL COMMUNICATIONS Synchronization Video and audio in the Vrecorder capture program may be captured from the same hardware capture card, or on different cards. For example, video may be captured from one card while audio may be captured from the sound card, or a sound card that is built into the motherboard. The best way to get synchronized audio and video is to either: •Use the “Default Audio Device” as the audio capture device •Use the same card for both audio and video DIGITAL VISUAL COMMUNICATIONS