170 likes | 358 Views
Tools architecture, patches, new features. Common library RAT VIC Platforms Security Documentation Hardware support. Current variants. Many! Focus on those of interest to the research community UCL, AccessGrid, VRVS, NCHC Other projects make use of the tools Individual patches
E N D
Tools architecture, patches, new features Common library RAT VIC Platforms Security Documentation Hardware support
Current variants • Many! • Focus on those of interest to the research community • UCL, AccessGrid, VRVS, NCHC • Other projects make use of the tools • Individual patches • Integrate or drop? • Resolve conflicting patches SUMOVER Project workshop: 28-30 November 2005, UCL.
New features not in UCL CVS rat vic common UCL 4.2.26 2.8ucl-1.1.6 1.2.15 AG 4.2.22 2.8ucl-1.1.3-AG 1.2.12 VRVS 4.3.5 2.9.1 1.2.10 NCHC n/a nchc-1.3.6 ? SUMOVER Project workshop: 28-30 November 2005, UCL.
UCL Common Library (in C) • NETUDP - A UDP interface for IPv4 and IPv6. • MBUS - Message bus for local coordination (RFC 3259) • Used in RAT extensively, in VIC less so. Other apps (Freevo) • Crypto/Authentication • DES, AES – Data & Advanced Encryption Standards • HMAC - cryptographic message authentication. • MD5 - Message Digest-5 algorithm. • RTP - Real-Time Transport Protocol (RFC 3550) • SAP - Session announcement protocol (RFC 2974) • SDP - Session Description Protocol (RFC 2327) • Debug - Functions for outputting diagnostics. • Memory - Memory allocation and debugging functions. • Utility functions – Base64, random numbers, binary trees SUMOVER Project workshop: 28-30 November 2005, UCL.
Existing patches • IA64 support (ANU) • Thread-safe operation • Colin’s patches • Orka, Hi-speed mods, buffering • Smart Network interface selection SUMOVER Project workshop: 28-30 November 2005, UCL.
Potential new features/changes/issues • Integration of real-time congestion control functionality • Using DCCP CCID3(TFRCC), CCID2(TCP-like) • Unicast-Multicast Tunnelling Protocol (UMTP) support • P2P multi-way communication • Aspen, orta, etc • Integration of new audio/video codecs libraries • Ffmpeg, lib-xine, pwlib • External linkage prefered • Automated bug reporting • Headless operation/ Remote control • Source type signalling - SDP update? • Small systems/handheld support • Integration into Instant Messaging media tools • Streaming option SUMOVER Project workshop: 28-30 November 2005, UCL.
RAT • Two main processes in C with tcl/tk GUI • Controller process parses arguments and spawns 2 processes • Communication using MBUS over loopback multicast • Built on UCL common library • Media Engine • Auddev: Drivers to various audio hardware • Linux (new: ALSA1.0 & OSS), Win, OSX, Solaris, BSD • Packet reception/transmission and RTP de/packetisation • Mixing, sample rate and play-out point adaptation • Codec_: – G.711, G.726, GSM, DVI, LPC, L16.. • User interface • Tcl/tk GUI to control media engine • Others possible (Java one has been done) SUMOVER Project workshop: 28-30 November 2005, UCL.
AG rat (4.2.22) – Tom • Per-source volume controls • IP helper code: strategically select network interface for multicast communication among rat components • Shipped Rat includes ALSA support (via patch from Steve Smith) SUMOVER Project workshop: 28-30 November 2005, UCL.
VRVS rat (?) - Pavel • default audio client of VRVS/EVO systems is based on RAT project of University College London (C and Tcl/Tk programming languages) • new audio codec G.722 was added for compatibility with H.323 devices (based on IPP) • priority of development was to unify source code for all supported platforms (Windows, Linux, Macintosh) – required new audio interface for MAC OS • 3 processes – rat, ratmedia, ratui have been merged into one binary (MBUS removed) and audio processing and windows management have been split into two separated threads that increase performance and stability of the application • support of multiple NIC, native ALSA support (Linux) • future: echo canceller, integrated audio and video application SUMOVER Project workshop: 28-30 November 2005, UCL.
Various rat patches • VRVS • Audio device logging • Modified some defaults: AudioSilence off • Removed Reception Quality Matrix • AG • new mbus message to kill rat processes • Log facility for RTP • Mac OSX audio driver (Juraj Sucik) - Colin SUMOVER Project workshop: 28-30 November 2005, UCL.
RAT potential new features/changes/issues • MBUS – non-mcast mode • Multi-threaded model • Codec: AMR, Speex, MP3, iLBC • Headless operation • Integrate RAT 3D audio system with video • Multi-channel surround sound audio system support • Software echo Cancellation (Speex lib etc) • NCHC may be working on this • Windows – per src muteing? • Dial-pad SUMOVER Project workshop: 28-30 November 2005, UCL.
VIC • Single process in C/C++ with embedded tcl/tk GUI • Components connected using tcl scripting • Only uses UCL common for MBUS and DES • Retro-fitted and re-organised using MASH code • Packet-buf, layered codec support (PVH), • RTP - session handling • NET – network support (IPv6/4, ATM) • VIDEO – grabber hardware drivers (new: WDM) • RENDER – video rendering/conversion • CODEC – H.261, H.263, PVH, BVC, JPEG, CellB, NV SUMOVER Project workshop: 28-30 November 2005, UCL.
VRVS vic (?) - Pavel • new encoder is fully compliant with the H.261 standard • old encoder used only INTRA-mode – compression was based on reducing of intra frame spatial redundancy • added INTER-mode with inter-frame motion estimation and compensation - difference between two subsequent video frames is encoded - compression is based on reducing of inter frame temporal redundancy • reduces bitstream (higher compression) - allows to use higher framerate and quality with the same bitstream • Better compatibility with H.323 devices • H.263 codec • Intel libraries and C++ compiler • Speaker mode, GUI changes, video display modes, multiple displays • Minimise, still images SUMOVER Project workshop: 28-30 November 2005, UCL.
AG vic (2.8ucl-1.1.3-AG) – Tom • Autoplace • automatically position video windows in a region on screen • OSX support (Doug Kosovic) • support for multiple cameras • separate branch in AG CVS SUMOVER Project workshop: 28-30 November 2005, UCL.
NCHC vic (1.3.6) • MPEG-4 video FGS (ffmpeg) • H.264 (ffmpeg) • Improved performance using MMX, SSE/SSE2 optimisations • Arbitrary video window resizing, full screen video, de-interlacing, h/w assisted rendering for XFree86 XVideo extension • Enabled code profiling • Other minor bug fixes SUMOVER Project workshop: 28-30 November 2005, UCL.
Various vic patches • AG patches • Quickcam Pro for AG vic • OpenMash and VRVS vic support YUV420 palette • Bttv frame grabber (video4linux) assumes YUV422 • 1394 driver support, fragile, limited support of FireWire h/w • Patch for AG 2.1.1 vic • New crypto sources (rijndael-xxx.cpp) • Profiling in some codecs (?) • Assistor-intel-jpeg-new.cpp: DirectDraw and video overlay modes? • VRVS ‘new’ features • Tiling of video windows • Extend frozen window duration when other sides stop transmission • Removed Options and External buttons • Fixed bug when killing vic window from “x” icon • AG/VRVS: Compiles with older version of gcc-2.96 (Piers) SUMOVER Project workshop: 28-30 November 2005, UCL.
VIC potential new features/changes/issues • Clean compile • Basic option panel (hide advanced) – Transmit on front panel • smart defaults • Layout control • What does it mean ..“Waiting for video”…. • New codecs: H.264, MPEG4, DV, HD • Advanced multi-display management systems • Integration of video tiling • Video subtitling/watermarking and vector graphics overlay support • Automatic Audio based active Video window highlighting • Screen scraper grabber – for presentation • VNC-like • Single UI for Video & Audio? • Done before….Relate • Still image • Full lip-synchronisation SUMOVER Project workshop: 28-30 November 2005, UCL.