fb02cea13f50dc400ed12e988b7ede3a.ppt
- Количество слайдов: 17
Tools architecture, patches, new features Ø Common library Ø RAT Ø VIC Ø Platforms Ø Security Ø Documentation Ø Hardware support SUMOVER Project workshop: 28 -30 November 2005, UCL.
Current variants • Many! • Focus on those of interest to the research community • UCL, Access. Grid, 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 UCL AG VRVS NCHC rat 4. 2. 26 4. 2. 22 4. 3. 5 n/a vic 2. 8 ucl-1. 1. 6 2. 8 ucl-1. 1. 3 -AG 2. 9. 1 nchc-1. 3. 6 SUMOVER Project workshop: 28 -30 November 2005, UCL. common 1. 2. 15 1. 2. 12 1. 2. 10 ?
UCL Common Library (in C) • NETUDP - A UDP interface for IPv 4 and IPv 6. • 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. – MD 5 - 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 – Base 64, random numbers, binary trees SUMOVER Project workshop: 28 -30 November 2005, UCL.
Existing patches • IA 64 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 CCID 3(TFRCC), CCID 2(TCP-like) • Unicast-Multicast Tunnelling Protocol (UMTP) support • P 2 P 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: ALSA 1. 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, L 16. . • 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: Audio. Silence 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, MP 3, i. LBC Headless operation Integrate RAT 3 D 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 (IPv 6/4, ATM) VIDEO – grabber hardware drivers (new: WDM) RENDER – video rendering/conversion CODEC – H. 261, H. 263, PVH, BVC, JPEG, Cell. B, 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. 8 ucl-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/SSE 2 optimisations • Arbitrary video window resizing, full screen video, deinterlacing, h/w assisted rendering for XFree 86 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 • Open. Mash and VRVS vic support YUV 420 palette • Bttv frame grabber (video 4 linux) assumes YUV 422 – 1394 driver support, fragile, limited support of Fire. Wire h/w • Patch for AG 2. 1. 1 vic – New crypto sources (rijndael-xxx. cpp) – Profiling in some codecs (? ) – Assistor-intel-jpeg-new. cpp: Direct. Draw 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, MPEG 4, 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.
fb02cea13f50dc400ed12e988b7ede3a.ppt