Saturday, June 20, 2020

A history of video conferencing (VC) technology


Lifted from:
https://www.packetizer.com/ipmc/history-of-videoconferencing/

I started streaming audio in 1988 across the lan, and video across the Stanford IP Network in 1989. and was invited to work on video at Sun in 1992. 

So I have the original global internet video stream I did at Sun in December 1992.
13000 viewers using 384 rebroadcast servers.

Now posted at:
https://github.com/johnsokol/holiday_greeting_1992

  6/22/2020 With a little persuasion I convinced Ron Frederick to post this up on github. 
     https://github.com/ronf/nv

A history of video conferencing (VC) technology

"This 'telephone' has too many shortcomings to be seriously considered as a means of communication. The device is inherently of no value to us." -- Western Union internal memo, 1876.
Picurephone, 1964
The Bell system Picturephone, 1964
  • 1956: AT&T builds the first Picturephone test system
  • 1964: AT&T introduces Picturephone at the World's Fair, New York
  • 1970: AT&T offers Picturephone for $160 per month
  • 1971: Ericsson demonstrates the first trans-atlantic video telephone (LME) call
  • 1973 DecARPAnet packet voice experiments [1]
  • 1976 Mar: Network Voice Protocol (NVP), by Danny Cohen, USC/ISI
  • 1981 Jul: Packet Video Protocol (PVP), by Randy Cole, USC/ISI [2]
  • 1982CCITT (forerunner of the ITU-T) standard H.120 (2 Mbit/s) video coding, by European COST 211 project
  • 1982: Compression Labs begins selling $250,000 VC system, $1,000 per hour lines
  • 1986: PictureTel's $80,000 VC system, $100 per hour lines
  • 1987: Mitsubishi sells $1,500 still-picture phone
  • 1989: Mitsubishi drops still-picture phone
  • 1990: TWBnet packet audio/video experiments, vt (audio) and pvp (video) from ISI/BBN [3]
  • 1990: CCITT standard H.261 (p x 64) video coding
  • 1990 Dec: CCITT standard H.320 for ISDN conferencing
  • 1991: PictureTel unveils $20,000 black-and-white VC system, $30 per hour lines
  • 1991: IBM and PictureTel demonstrate videophone on PC
  • 1991 Feb: DARTnet voice experiments, Voice Terminal (vt) program from USC/ISI [4]
  • 1991 Jun: DARTnet packet video test between ISI and BBN.
  • 1991 Aug: UCB/LBNL's audio tool vat releases for DARTnet use
  • 1991 Sep: First audio/video conference (H.261 hardware codec) at DARTnet
  • 1991 Decdvc (receive-only) program, by Paul Milazzo from BBN, IETF meeting, Santa Fe [5]
  • 1992: AT&T's $1,500 videophone for home market
  • 1992 Mar: World's first MBone audio cast (vat), 23rd IETF, San Diego
  • 1992 Jul: MBone audio/video casts (vat/dvc), 24th IETF, Boston [6]
  • 1992 Jul: INRIA Videoconferencing System (IVS), by Thierry Turletti from INRIA [7]
  • 1992 Sep: CU-SeeMe v0.19 for Macintosh (without audio), by Tim Dorcey from Cornell [8]
  • 1992 Nov: Network Video (nv) v1.0, by Ron Frederick from Xerox PARC, 25th IETF, Washington DC [9]

       The Code nv this is LOST, and no longer available.   6/22/2020 Correction, with a little persuasion I convinced Ron Frederick to post this up on github.
         https://github.com/ronf/nv

  • 1992 Dec: Real-time Transport Protocol (RTP) v1, by Henning Schulzrinne
  • 1992 Dec, First Global Video Stream, over Sun's private network. 13000 viewers.
    This becomes Sun's CellB.
  • 1993 Apr: CU-SeeMe v0.40 for Macintosh (with multipoint conferencing)
  • 1993 May: Network Video (nv) v3.2 (with color video)
  • 1993 Octvic initial alpha, by Steven McCanne and Van Jacobson from UCB/LBNL [10]

       Code for VIC at https://github.com/johnsokol/LBL-VIC
       The only Source Code for Sun's Cellb Video compression
  • 1993 Nov: VocalChat v1.0, an audio conferencing software for Novell IPX networks [11]
  • 1994 Feb: CU-SeeMe v0.70b1 for Macintosh (with audio) , audio code by Charley Kline's Maven [12]
  • 1994 Apr: CU-SeeMe v0.33b1 for Windows (without audio), by Steve Edgar from Cornell
  • 1994 Jun: John Sokol forms NetSys Inc and begins building first CDN for video Streaming of Livecam Motion Jpeg Streams. 
  • 1995 Feb: VocalTec Internet Phone v1.0 for Windows (without video)
  • 1995 Aug: CU-SeeMe v0.66b1 for Windows (with audio)
  • 1996 Jan: Real-time Transport Protocol (RTP) v2, by IETF avt-wg [13]
  • 1996 Mar: ITU-T standard H.263 (p x 8) video coding for low bit-rate communication
  • 1996 Mar: VocalTec Telephony Gateway
  • 1996 May: ITU-T standard H.324 for POTS conferencing
  • 1996 Jul: ITU-T standard T.120 for data conferencing
  • 1996 Aug: Microsoft NetMeeting v1.0 (without video)
  • 1996 Oct: ITU-T standard H.323 v1, by ITU-T SG 16 [14]
  • 1996 Nov: VocalTec Surf&Call, the first Web to phone plugin
  • 1996 Dec: Microsoft NetMeeting v2.0b2 (with video) [15]
  • 1996 Dec: VocalTec Internet Phone v4.0 for Windows (with video)
  • 1997 Jul: Virtual Room Videoconferencing System (VRVS), Caltech-CERN project
  • 1997 Sep: Resource ReSerVation Protocol (RSVP) v1, by IETF rsvp-wg
  • 1998 Jan: ITU-T standard H.323 v2
  • 1998 Jan: ITU-T standard H.263 v2 (H.263+) video coding
  • 1998 Apr: CU-SeeMe v1.0 for Windows and Macintosh (with color video), from Cornell
  • 1998 May: Cornell's CU-SeeMe development team has completed their work and has gone on to other projects
  • 1998 Oct: ISO/IEC standard MPEG-4 v1, by ISO/IEC JTC1/SC29/WG11 (MPEG)
  • 1999 Feb: Session Initiation Protocol (SIP) makes proposed standard, by IETF mmusic-wg [16]
  • 1999 Apr: Microsoft NetMeeting v3.0b (with gatekeeper)
  • 1999 Aug: ITU-T H.26L Test Model Long-term (TML) project , by ITU-T SG16/Q.6 (VCEG)
  • 1999 Sep: ITU-T standard H.323 v3
  • 1999 Oct: NAT compatible version of iVisit, v2.3b5 for Windows and Mac
  • 1999 Oct: Media Gateway Control Protocol (MGCP) v1, IETF
  • 1999 Dec: Microsoft NetMeeting v3.01 service pack 1 (4.4.3388)
  • 1999 Dec: ISO/IEC standard MPEG-4 v2
  • 2000 May: Columbia SIP user agent sipc v1.30
  • 2000 Oct: Samsung releases the first MPEG-4 streaming 3G (CDMA2000-1x) video cell phone
  • 2000 Nov: ITU-T standard H.323 v4
  • 2000 NovMEGACO/H.248 Protocol v1, by IETF megaco-wg
  • and ITU-T SG 16
  • 2000 Dec: Microsoft NetMeeting v3.01 service pack 2 (4.4.3396))
  • 2000 Dec: ISO/IEC Motion JPEG 2000 (JPEG 2000, Part 3) project, by ISO/IEC JTC1/SC29/WG1 (JPEG)
  • 2001 Jun: Windows XP Messenger supports the SIP
  • 2001 Sep: World's first trans-atlantic tele gallbladder surgery (operation Lindbergh)
  • 2001 Oct: NTT DoCoMo sells $570 3G (WCDMA) mobile videophone
  • 2001 Oct: TV reporters use $7,950 portable satellite videophone to broadcast live from Afghanistan
  • 2001 Oct: Microsoft NetMeeting v3.01 (4.4.3400) on XP
  • 2001 DecJVT video coding (H.26L and MPEG-4 Part 10) project, by ITU-T SG16/Q.6 (VCEG) and ISO/IEC JTC1/SC29/WG 11 (MPEG)
  • 2002 Jun: World's first 3G video cell phone roaming
  • 2002 Dec: JVT completes the technical work leading to ITU-T H.264
  • 2003 May: ITU-T recommendation H.264 advanced video coding
Sources : Wall Street Journal (27 February 1996), The MBone FAQ, rem-conf listserv, The MBone listserv, CU-SeeMe listserv, RTP: Historical Notes, and few PostScripts (*.ps).
Notes and References
[1] Danny Cohen, "Specifications for the Network Voice Protocol (NVP)", RFC 741, Internet Engineering Task Force, November 1977.
"The major objective of ARPA's Network Secure Communications (NSC) project is to develop and demonstrate the feasibility of secure, high-quality, low-bandwidth, real-time, full-duplex (two-way) digital voice communications over packet-switched computer communications networks. The Network Voice Protocol (NVP), implemented first in December 1973, and has been in use since then for local and transnet real-time voice communication over the ARPANET."
[2] Randy Cole, "PVP - A Packet Video Protocol", Internal Document, USC/ISI, July 1981.
"The Packet Video Protocol (PVP) is a set of extensions to the Network Voice Protocol (NVP-II) and consists mostly of a data protocol for transmission of video data. No specific changes to the NVP-II protocol are necessary for the PVP."
[3] Eve M. Schooler, "A Distributed Architecture for Multimedia Conference Control", ISI research report ISI/RR-91-289, November 1991.
"Voice Terminal (VT) program and Packet Video Program (PVP) were originally implemented on a BBN Butterfly multiprocessor. VT and PVP digitize and packetize data, using the Netowrk Voice Protocol (NVP) for audio and the Packet Video Protocol (PVP) for video. They transmit this data across the network using the experimental Stream Protocol (SP) and the Terrestrial Wideband Network (TWBnet)."
[4] DARTnet : A trans-continental IP network of about a dozen research sites connected by T1 trunks.
November 1988, small group (MIT, BBN, UDel, ISI, SLI, PARC, LBL) led by Bob Braden of USC/ISI proposes testbed net to DARPA. This becomes DARPA Research Testbed Net (DARTnet).
DARTnet has since evolved to CAIRN, which presently connects 27 institutions in the US and Britain.
[5] Tim Dorcey, "CU-SeeMe Desktop VideoConferencing Software", Connexions, Volume 9, No.3, March 1995.
"In fact, it was Paul Milazzo's demonstration of such a tool in 1991 that inspired development of CU-SeeMe."
[6] The video used for the July 1992 Internet Engineering Task Force (IETF) was the Desktop Video Conferencing (DVC) program from BBN, written by Paul Milazzo and Bob Clements.
They have made available a receive-only program, but they retain a proprietary interest in the version that is capable of sending.
This program has since become a product, called PictureWindow.
[7]INRIA Videoconferencing System (IVS) was used to broadcast part of the IETF 25 meeting held in Washington, DC during 16-20 November, 1992. The broadcast was sent over the Mbone. See Internet Monthly Report published in November 1992.
[8] "When development of CU-SeeMe began in July 1992, the only real-time videoconferencing software for the Internet required expensive hardware which severely limited the number of potential senders and receivers. Working with Richard Cogger in the summer of 1992, Tim Dorcey wrote the original version of CU-SeeMe."
URL: http://cu-seeme.cornell.edu
As the Macintosh did not have IP multicast support, CU-SeeMe took a more traditional approach and developed a multipoint server (Reflector) that CU-SeeMe clients could connect to.
[9] For the November 1992 IETF and several events since then, they have used two other programs.
The first is the Network Video (nv) program from Ron Frederick at Xerox PARC.
Also available from INRIA is the IVS program written by Thierry Turletti (as mentioned previously).
Van Jacobson, "Old timers might remember that the first, binary-only, release of nv happened 24 hours before the November 1992 IETF where it was first used."
[10] vic (vi/deo c/onfernece) was inspired by nv. Portions of vic (the ordered dither, the nv-format codec, and some of the video capture code) were derived from the nv source code.
An early version of vic was used by the Xunet research community to carry out distributed meetings in Fall 1993.
vic change history at http://www-nrg.ee.lbl.gov/vic/CHANGES.html
[11] In 1991, 5 high school friends established ClassX, a start-up software company, at Raanana, Israel.
2 years later, 4 members of them joined VocalTec and they have developed the VocalChat v1.0-2.5, and the Internet Phone.
Ofer Shem Tov, "VocalChat early version was introduced first time in PCEXPO end of June 1993 in New York. It did half duplex calls over Novell IPX networks. VocalChat v1.0 was released in Comdex Fall, November 1993, in Las Vegas, it was a finished version of the PCEXPO product. First long distance call was done on Bell South Novell network from Atlanta to Miami. VocalChat 2.02 LAN and WAN were released in June 1994 and included voice mail, address book, TCP/IP support and support of VocalTec Compression Card (VCC) for low bandwidth links.
VocalChat GTI (Gateway To the Internet) was released in October 1994. It was focused on the Internet and required the VCC card."
[12] Charley Kline, "I got annoyed at the Fall 1992 IETF when told that the only serious platform for multimedia conferencing was a hefty Unix workstation. I figured a Macintosh has better audio processing ability than a Sun (true!), so set about to write an audio conferencing tool for the Macintosh that would interoperate with the popular vat program for Unix."
URL: http://spiffy.ci.uiuc.edu/~kline/cvk-ido.html
[13] Henning Schulzrinne, "Real-time Transport Protocol (RTP) is the Internet-standard protocol for the transport of real-time data, including audio and video. It can be used for media-on-demand as well as interactive services such as Internet telephony. RTP consists of a data and a control part. The latter is called RTP Control Protocol (RTCP)."
RTP has its roots in the early work done using Network Voice Protocol 2 (NVP-II) with vatvt and nevot in 1991, which in turn has its roots in the Network Voice Protocol (NVP) experiences in the early 1970s.
[14] H.323 : "Visual telephone systems and equipment for Local Area Networks which provide a non-guaranteed Quality of Service." (original title)
"Packet-based multimedia communications systems." (revised title in H.323 v2 drafts)
4 main H.323 network components; Terminals, Gateways, Gatekeepers, and Multipoint Control Units (MCUs).
H.320 (N-ISDN), H.321 (B-ISDN, ATM), H.322 (GQoS LAN), H.323 (H.320 over LAN), H.324 (SCN), H.324 M (Mobile).
[15] Toby Nixon, "Microsoft NetMeeting version 2.0 and below uses an alternative call setup procedure that is permitted for combined H.323/T.120 terminals. Because NetMeeting was originally a T.120-based product (without H.323 support), it sets up the T.120 (data conference) call first, and then the H.323 (audio and video conference) call."
Current versions of NetMeeting are not compliant with the H.323 standard as they do not attempt to register with a gatekeeper, a required function.
[16] SIP is a simple signaling protocol for Internet conferencing and telephony.
H.323 is an ITU-T standard, while SIP is the IETF approach.
The pioneering video conferencing tools :
  • CU-SeeMe [video]
    from Cornell University
    platform : Apple Macintosh
  • DVC [video]
    from BBN
    platform : Sun SPARC
  • IVS [video & audio]
    from INRIA
    platform : Sun SPARC, HP, SGI and DEC stations
  • NV [video]
    from Xerox PARC
    platform : Sun SPARC, SGI and DEC stations

      6/22/2020 With a little persuasion I convinced Ron Frederick to post this up on github.

         https://github.com/ronf/nv

     I am told it will build and run on modern machines and Ron was surprised on how well his codec performs against more modern ones.

No comments: