Media Streaming Architecture and Protocols Rüdiger Gunreben Markus Wichmann What is streaming media? • Streaming media allows the user to begin viewing audio/video clips without first completely downloading the entire file. • After a brief initializing and buffering, the file begins to stream. • Most streaming media require the user to install a downloaded player on his computer Legend Router Server Workstation ATM Switch Layer 2 Frame Switch Layer 2 High Speed Switch Integrated Layer 2/Layer 3 Switch Network Architecture AVI file MPEG file Record Encoder A/V Capture MainFrame/Cluster Customer/User Network Tasks Encoding incoming media stream(s) • How they will do this? (Hardware, Software) • What codec will be used? Handles incoming requests for transmission • Performance issues • Structure of the system (scalability) Routing the transmission to the customer • Questions about speed and special technologies Watching the transmission • Who will benefit? Industry overview Format Product Real Windows Media QuickTime MP3 MediaCleaner •QT SS •Darwin •Kasenna MediaBase •Icecast •Shoutcast Encoder •RealProducer •MediaCleaner •WMEncoder •MediaCleaner •Sorenson Broadcaster •MediaCleaner •Lame Player •Realplayer •WMPlayer •QTPlayer •WinAmp •Sonique Server •RealServer •Kasenna MediaBase OSI vs. TCP/IP • OSI: conceptually define services, interfaces, protocols – more layers → less efficient • Internet: provide a successful implementation – we don’t need so many layers in practice Application Presentation Application Session Transport Transport Network Internet Datalink Physical Host-tonetwork OSI TCP/IP Netmeeting WMP TCP UDP IP LAN Packet radio Streaming Versus Web Server Requirement Web Streaming On-Demand Yes Yes Live Streaming No Yes Unicast Yes Yes Multicast No Yes Bandwidth Throttling No Yes Content Control No Yes Commercial aspects of Streaming Media: Who makes all the money? • The value-added chain in Streaming Media – – – – Content Creation ( recording systems, camera/mic operators) Content Preparation ( encoding, cutters, sysops, hardware manufact.) Content Storage ( Storage systems manufacturers, Storage providers) Content Delivery ( Network components, Service providers, media players, system manufacturers) Commercial aspects of Streaming Media: Cisco IP/TV : pricing example 20 user sw license client software Wincast encoder Mainboard Processor IDE HDD 64MB Parity RAM 10/100 NIC Rack case/rails Floppy CDROM Operating System total: $6,500 no charge $100 $146.95 $125.95 $165 $200 $30 $495 $23.95 $67 $180 $8054,85 Commercial aspects of Streaming Media: IBM Videocharger: pricing example Server software Client software MPEG encoder Mainboard Processor IDE HDD 128MB Parity RAM 10/100 NIC Rack case/rails Floppy CDROM Server OS total: $1,800 no charge $3,000 $146.95 $125.95 $165 $400 $30 $495 $23.95 $67 $200 $6303,85 Commercial aspects of Streaming Media: Pricing example for storage and delivery • Company: Detroit Encoding, Inc. – Low-end example: • Disk Space: 15 MB • 500 MB monthly transfer • $ 10 per month High-end example: Disk Space: 1000 GB No Data Transfer Limit $ 18000 per month • Wooow, well... very high costs... • But: Who or what guarantees – the smooth arrival of the data at the customer‘s site? – the convenient usability of the data by the customer? Several Protocols and Technologies need to work together The main aim: real-time • DIN 44300: „Echtzeitbetrieb ist ein Betrieb eines Rechensystems, bei dem Programme zur Verarbeitung anfallender Daten ständig derart betriebsbereit sind, dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfügbar sind.“ • Which technical implications does this definition have? • How can we reach this aim? • The keyword here is Quality of Service (QoS) Criteria for QoS with Streaming • Data Throughput – performance of a link (in bits per second) • Packet latency – total delay of a packet while travelling from sender to receiver • Packet Loss Ratio – the ratio of the number of packets lost to the total number of packets that have been sent • Jitter (Packet Delay Variation) – the sender send this: but the receiver gets this: Approaching QoS • Increase bandwidth to infinity (rarely possible) • Define Service Classes – On the data link layer, e.g. ATM ATM Service Category Typical use uncompressed voice and video Constant Bit Rate (CBR) VBR Real-Time Variable Bit Rate (rt-VBR) Non-Real-Time Variable Bit Rate (nrt-VBR) Available Bit Rate (ABR) Unspecified Bit Rate (UBR) reserves a constant amount of bandwidth; user may send at the negotiated bitrate any time for any duration compressed voice and video (requiring small jitter) PCR Peak Cell Rate, SCR Sustainable Cell Rate, MBS Maximum Burst Size (same as rt-VBR, but with no upper delay limit) file transfers, e-mail guaranteed minimum bandwidth (MCR), no loss (same as ABR, but with possible loss, without MCR) Approaching QoS • Define suitable protocols and techniques – and combine them, where possible, with solutions on the data link layer • Key Technologies: – Multicasting – IPv6: A new and better version of IP – RTP, RTCP, RTSP (for video with audio) – H.323, SIP (for Voice-over-IP) Unicast/Multicast 128.146.199.0/24 128.146.222.0/24 128.146.116.0/24 128.146.226.0/24 Unicast 128.146.199.0/24 Sender 128.146.222.0/24 Receiver 128.146.116.0/24 Receiver 128.146.226.0/24 Receivers Unicast • With 4 receivers, sender must replicate the stream 4 times. • Consider good quality audio/video streams are about 1.5Mbps (a T1 link) • Each additional receiver requires another 1.5Mbps of capacity on the sender network • Multiple duplicate streams over expensive WAN links Multicast 128.146.199.0/24 Sender 128.146.222.0/24 Receiver 128.146.116.0/24 Receiver 128.146.226.0/24 Receivers Multicast • Source transmits one stream of data for n receivers • Replication happens inside routers and switches • WAN links only need one copy of the data, not n copies. Multicast - Overview • Unicast is one to one communications, multicast is potentially many-to-many. • IP multicast uses class D addresses for destination, unicast address for source (224.0.0.0 through 239.255.255.255) • Source (S) sends data to a group (G) which potentially has receivers (R) IPv6 – Next Generation IP A new version of IP? What for? (1 of 4) • Address space of IPv4 will soon be exhausted – IPv4: Only 42 billion theoretically possible addresses – Many intranet users share one internet IP address (see network address translation (NAT)) – Dynamic assignment of addresses on ISP-dial-in – Population growth: 10 billion people in the year 2020 Forecast: Exhaustion of address space in 2005 A new version of IP? What for? (2 of 4) • Many end-to-end services cannot be used without restrictions A NAT Internet Internet NAT B A new version of IP? What for? (3 of 4) • Growing routing tables – Each class A/B/C address requires a table entry – IPv4 does‘t allow hierarchical routing Performance loss • Many fields of IPv4 headers hardly used – Routers do no longer analyse those fields – Analysis is time-consuming Performance loss A new version of IP? What for? (4 of 4) • Administrative costs with IPv4 – Manual configuration necessary • in user terminals (here: multimedia computers) • and/or in DHCP servers – Increase of the number of mobile devices aggravates this problem • Security of data in IPv4 in the protocol itself – Authentication and encryption not possible without IPSec (=additional effort for configuration) Requirements for Streaming via IPv6 • Performance – Optimize routing • Support administrators in configuration („Auto-Configuration“) • Enlarge address space • Simplify multicasting • Integrate mechanisms securing data The IPv6 header • • • • • • Version: indicates IP version (binary 0110 = decimal 6) TC = Traffic Classifier, allows priorization Flow Label for optimized routing Payload Length Next Header indicates type of (optional) following header Hop Limit is similar to Time-to-Live (TTL) in IPv4 IPv6 header vs. IPv4 header • No IPv4 Internet Header Length – IPv6 header always of same length Routing performance • No IPv4 header checksum (!) – Higher layers check exhaustively Routing performance • Fragmentation mechanisms dislocated into 0ptions header – Reason: Path MTU Discovery renders fragmentation obsolete • IPv4 „Protocol Type“ replaced by IPv6 „Next Header“ • IPv6: „Payload Length“ really comprises only the payload, and not the header as well (like in IPv4) Types of IPv6 addresses • Unicast: unique address of a single interface • Multicast: all interfaces of a defined group – Avoids transmission of identical data • Anycast: the next interface of a defined group – several terminals have a common address – e.g. replicated webservers with same IP address each – Machines that want to beling to an Anycast address need to „propagate“ this information to the routers of their subnet (using ICMP, see later on) • NO Broadcast any longer (displaced by Multicast and Anycast) Advantages of IPv6 address structure • Decentralized administration of IP network addresses – IANA assigns TLA IDs to lower instances – Those assign NLA IDs to lower instances again – Those again assign the SLA IDs to organizations and companies • These address prefixes are propagated by the routers – Routers convey (new) prefixes to terminals/routers – If no router is reachable the MAC address of the NIC is used to form a link-local IP address • Advantages: Hierarchical fast routing, fast configuration Scopes of IPv6 addresses link-local • With no TLA, NLA, and SLA IDs assigned an address is only valid on the same network link Scopes of IPv6 addresses link-local site-local • If company routers propagate an SLA ID to the end devices then so-called site-local addresses are formed Scopes of IPv6 addresses link-local site-local global • With all IDs assigned a packet originating from an IPv6 device can be routed anywhere on the globe Multicast Addresses in IPv6 • There are pre-defined and user-defined multicast addresses • Pre-defined e.g.: – all routers – all DHCP servers • User-defined e.g.: – all users taking part in a video conference – all users watching a TV broadcast over the internet • Subscription and Un-Subscription to/from user-defined multicast sources: – Host sends message (ICMPv6 message) to its next router – Router adjusts its internal tables according to the requested multicast broadcast and will pass packets with the specified multicast address to the network link with the requesting host – If necessary the router propagates the demands of the host to higher routers Data Security with IPv6 • based on IPSec • IPSec is an integral component of IPv6, has been optional in IPv4 • uses the IPv6 extension headers – Authentication Header (AH) – Encapsulated Security Payload Header (ESP) IPv6 supporting Mobile Streaming Windows Media Live Content UNICAST, MULITCAST License Server Live Feed End Users: Home, Business Encoding Workstation On-demand Content Windows Media Services Server Stored Content Editing Workstation Authoring Streaming from a Web Server Streaming from a Download & Play Web Server WM Server Distribution Playback Windows Media 9 Series Component Interweavement On-Line Services Authoring Movie Maker Producer Third Party Tools WM Encoder & OCX DRM License Creation Content Discovery/M etadata Playback Windows Media Player DRM License Acquisition WMP.DLL Server Services DShow WM Format SDK WM Server MMC Admin WM Server Web Admin Codecs DRM DShow WM Format SDK WMS Admin Object File Networking IIS Windows Media Server Windows Media Player OCX File Networking DRM Codecs WM Codec Parameters • Supports streamed / local playback • WM comprises – – – • ASF (WMV / WMA) Codecs DRM GOAL – – – Smallest size for quality (e.g. 50% of MP3) Near DVD quality at only 500 kbps Maintain consistent quality Video Smoothing (Frame Interpolation) • Generates missing frames at playback time using opticalflow analysis • Improves perceived video quality (motion smoothness) at lower data rates • Can be used to improve quality or save bandwidth by encoding fewer frames – Bandwidth reduction reduces operating cost for ICPs – E.g. MSNBC encodes only 15 frames/sec, but user of WM9 Player will experience full frame rate WMA Professional 9: MS’ Promises • New audio codec to handle greater-than-CD resolution/channels – Up to 96Khz sampling rate, 24-bits, and 8 channels (“7.1”) • CD is stereo at 44Khz using 16-bit samples – Targets are multi-channel music distribution and movie sound tracks at broadband rates • More efficient than existing technologies: – Twice as good as Dolby Digital (AC-3) and DTS used in DVDs – Blind listening test shows WMA Pro at 768Kbps outperforms all existing codecs in the market Windows Media Format • Advantages – Extensible file format • • – Support advanced MS and 3rd party codecs Support rich media (see e.g. TeRM) Author once, playback anywhere • • Streams 28.8Kbps 1 Mbps broadband Replay PCs, PDAs, Consumer Elec. – Car stereos, Cellphones, In home devices, PDAs Windows Media Format File Container • Supports files as large as 17 million terabytes (17 000 000 000 000 000 000 bytes) • • Supports multi-bitrate audio Stores media and metadata in one file (see current TeRM version) – Metadata • • – Title, copyright, author, markers, script commands, etc. ID3 v1, v2 music meta-information Media • Audio, Video, rich media and Script Commands (URLs, CC) AudioStream Video Stream #1 Video Stream #nRich Stream Script Stream Timeline Windows Media Format File Container • • • • Able to select a stream, based on available bandwidth Interleaved data optimal for request/response protocol like HTTP Timeline based synchronization Bursty data can be smoothed Feature Set • • • • • Timecode with Frame accurate seeking support Live DRM Video Smoothing (Frame Interpolation) Rich Media Streaming (see TeRM) VBR streaming/progressive down-load optimizations – the higher the bandwidth the more details • MBR audio and multiple resolution MBR Video (Multiple Bitrate) Digital Rights Management • Prevents unauthorized distribution and protects content owners’ rights • Issue/Acquire/Enforce/Manage rights • Allows copyright owners to encrypt ASF content – Users must acquire “license” to play – Compressed content cannot easily be e-mailed, transferred, or copied with associated license • Works with Windows Media codecs • Support for DRM v7 Codecs • Video: – Microsoft MPEG-4 v2, v3 – Microsoft MPEG-4 ISO v1 – Windows Media Video v7, v8 • Audio: – WMA v1, v2, v7, v8 – MP3 Streaming Protocols • Multicast – – • Microsoft Media Stream (MMS) – – – – • TCP connection for commands between client and server UDP or TCP for media content Automatic protocol roll-over (UDP, TCP) Can vary the packet size as needed HTTP – – • Each packet is broadcast to multiple clients Requires use of Windows Media Station (previously NetShow Channel) .NSC files Will automatically come through corporate firewalls Will use Internet Explorer’s proxy-settings, or will use own settings File-based (local or network redirector) The Realtime Protocol Suite • RFC 1889: – RTP, Realtime Transport Protocol: A Transport Protocol for Real-Time Applications • end-to-end transport of – audio, – video, or – simulation data • multicast or unicast • does not guarantee QoS – RTCP (Realtime control protocol) • monitor the quality of service of RTP • RFC 2326: – RTSP (Realtime Streaming Protocol) • »network remote control« of RTP streams RTP and RTCP: Companions 1st udp port RTP Media Transport receiver sender Quality Feedback, Control 2nd udp port RTCP RTP • Why Not Use TCP? – No need for 100% reliability – built-in reliability makes TCP protocol slow – Retransmission delay TCP not suitable for Real-Time applications UDP and IP (with multicasting) is more suitable Retrospection: Criteria for QoS with Streaming • Data Throughput – performance of a link (in bits per second) • Packet latency – total delay of a packet while travelling from sender to receiver • Packet Loss Ratio – the ratio of the number of packets lost to the total number of packets that have been sent • Jitter (Packet Delay Variation): RTP over UDP/IP: Better than TCP/IP • UDP: connectionless higher Data Throughput • UDP: No unnecessary reliability higher Data Throughput but also possible packet loss • RTP: Timestamp a too old packet is discarded jitter correction • RTP: Sequence Number correct order, independent from time of arrival, detect packet loss M=marker bit indicates begin of frame Payload Type: mostly audio/video encoding method Timestamp: sampling instant of first data octet SSRC: sync source, random 32 bit identifier CSRC: list of up tp 15 contributing sources (for mixing) RTCP: Purpose • provide feedback on quality of data distribution – allows sender to detect network congestion – allows sender to detect packet loss – allows ISP to detect network problems (when multicasting) • functional parts within header (excerpt): – Receiver report (RR) (sent for each SSRC) • Loss rate sender can adapt bandwidth of stream • jitter • roundtrip delay – Explicit leave (BYE) • important when mulitcasting RTSP: Real-Time Streaming Protocol • acts as a “remote control” for multimedia servers – provides commands like • • • • • • • PLAY PAUSE INVITE (e.g. a server can be invited into a video conference) RECORD (e.g. in video conferences) GET_PARAMETER (e.g. server query of packet loss to client) REDIRECT (server asks client to use different server load balancing) OPTIONS (e.g. acceptable data encodings) RTSP: Real-Time Streaming Protocol • Request/Response protocol similar to HTTP – some of the major differences: • out-of-band signalling (see next sheet) • client AND server may send requests (e.g. GET_PARAMETER) • protocol is stateful (current state of a session is saved by server) – Reason: Developers new to RTSP able to adapt from their existing HTTP knowledge RTSP: Out-of-Band Signalling • The payload is carried using a different protocol than RTSP (mostly RTP) • Example for an RTSP setup request: C S: SETUP rtsp://www.hdm-radio.de:554/kueken RTSP/1.0 Transport: RTP;unicast;client_port=5564-5565 S C: RTSP/1.0 200 OK Date: 5 Dec 2002 10:45 GMT Session: 47110815 Transport: RTP;unicast; client_port= 5564-5565;server_port=6456-6457 Voice and Video over IP: Protocols VoIP – Typical Configuration VoIP Typical Configuration Public Switch (LEC) Com puter Public Switch (LEC) Local loop Local loop Com puter Telephone Telphone TI Line TI Line H.323 ISP Gateways Routers H.323 Internet ISP Gateways Routers Protocols • Data Transport : – RTP • Signalling: – IETF SIP protocol suit – ITU-T H.323 protocol suit • Quality of Service: – RSVP VoIP characteristics • Mostly concerns Transport and Session (application) Layer functionality – Assuming that the underlying network provides the required service • Real-Time Application Protocol stack for IP Telephony SIP: Session Initiation Protocol • Signalling protocol for establishing sessions (voice, video, game, chat, calls) • ASCII text-based messaging • SIP messages can be transported over any protocol (UDP, TCP, …) • Data Transport is left to RTP SIP protocol • Text based (HTTP) Request/Response messages • Methods (Requests) • INVITE Call user (uses SDP for session description) • ACK Confirm connection • OPTIONS Capability info exchange • BYE Tear down call • CANCEL Cancel a previous call (before completion) • REGISTER Sign up with server, for address lookup , etc. SIP operation in proxy mode RTP Sessions are setup after SIP session setup is confirmed SIP Operation: redirect mode SIP Examples (for reference only) INVITE sip:bob@one.example.com SIP/2.0 Via: SIP/2.0/UDP sip.example.com;branch=7c337f30d7ce. 1;maddr=239.128.16.254;ttl=16 Via: SIP/2.0/UDP mouse.wonderland.com From: Alice <sip:alice@wonderland.com>;tag=1 To: Bob <sip:bob@example.com> Call-ID: 602214199@mouse.wonderland.com CSeq: 1 INVITE Contact: Alice <sip:alice@mouse.wonderland.com> Subject: SIP will be discussed, too H.323 Architecture • H.323 specifies the components, protocols, and procedures providing multimedia communication over packet-based networks (like IP) • Components: – Terminal – Gatekeeper: the focal point for all calls within the H.323 network • Address translation, Setup/Teardown of connections, access control, bandwidth management – Gateway: connects two dissimilar networks – Multipoint Control Unit: provides support for conferences of multiple terminals H.323 Protocols • H.323 terminals must support the following: – H.245 for exchanging terminal capabilities and creation of media channels – H.225 for call signaling and call setup – RAS (registration, admission, status) for registration and other admission control with a gatekeeper – RTP/RTCP bringing audio/video packets into correct order – G.711 audio CODEC. • H.323 terminals can optionally support the following: – Video CODECs (e.g. H.263, T.120 data-conferencing protocols,… H.323 Call Stages Discovery and Registration (RAS) Call Setup (RAS/H.225/Q.931) Call Negotiation (H.245) Media Channel setup (H.245) Media Transport (RTP/RTCP) Call termination (H.245/H.225/RAS) “Who am I?” “Who do I want to call?” “These are my capabilities” ”Open audio channel” “Send audio datagrams” “Hang up phone!” H.323 protocol suite SIP vs. H.323 • Both use RTP/RTCP for Data Transport SIP vs. H.323: dissimilarities • Which one to use for IP Telephony ? – SIP was designed by IP guys • Make it as simple as possible, but lacks some features • Good for low-cost simple devices – H.323 was designed by Telephony guys • Make it as complete as possible Complex, powerful, more features • Good for more serious applications • What did industry choose? – 3GPP* has chosen SIP as the only VoIP protocol for UMTS release 2000 – Siemens: for Voice and Multimedia over IP, H.323 is a better choice *3GPP = 3rd generation partnership project Conclusion for VoIP • For IP Telephony we need a set of protocols – For data transport: RTP – For signaling • IETF suggests: SIP, RTSP, SDP … • ITU-T suggests: H.323 protocol suit • Our vision: Most of the current solutions are proprietary to a great extent, but will eventually converge to standard based solution Overall Conclusion • Streaming is – very expensive – very complex • Protocols are not always well-defined (see RTP) • Commercialisation lags behind potential market – Multicasting not easily usable, no actual easily handable standards for VoIP • Bandwidths are increasing higher quality • Converging technologies will make things easier • Demands are increasing, and so will the money ☺ Resources http://www.tv-plattform.de/pdf/Symposien/B4b3.pdf http://radio.irt.de/vida/Docs/PUBL-Ruhnke.pdf http://www.cisco.com/warp/public/cc/pd/cxsr/ces/prodlit/wmtv4_wp.pdf http://download.microsoft.com/download/winmediatech40/Doc/1.0/WIN98MeXP/EN-US/ASF_Specification_v.1.0.exe http://www.leitch.com/custserv/wplib.nsf/Nlookup/NT000008F6 http://www.medialab.sonera.fi/workspace/Streaming_Media_Platform.pdf http://www-svca.mercuryinteractive.com/pdf/products/whitepapers/streamingwp.pdf http://support.instawatch.com/streamingmediaPrimer.pdf http://geocities.com/majormms/ http://alpha.sec.nl/vip/vip_d3_1-v110.pdf http://www.palomar.edu/at/mediaclass/Adding%20Streaming%20Media.pdf http://www-lehre.informatik.uni-osnabrueck.de/aerpenbe/papers/real.pdf http://525.fims.uwo.ca/craven/525str.htm http://service.real.com/help/library/guides/production/htmfiles/intro.htm http://www.cs.unc.edu/hays/INLS191/lessons/digital_media_long.ppt http://www.ibr.cs.tu-bs.de/lehre/ss02/skm/t05_txt.pdf http://www.zottel.de/download/paper/OberthuerStudienarbeit.pdf http://www.strongsec.com/zhw/PA/PA2_Sna06_2001.pdf http://wwwbode.cs.tum.edu/luksch/archiv/Skripten/S2001/GridComputing/QoS.pdf http://www.decoit.de/whitepapers/DECOIT-QOS0107.pdf http://www.rvs.uni-hannover.de/people/boeker/vortraege/rtsp.pdf http://mediasrv.cs.uni-dortmund.de/Lehre/SS2002/EINI_II_SS2002/pdf/Roelz-rtsp.pdf http://www-lehre.informatik.uni-osnabrueck.de/aerpenbe/papers/real.pdf http://lrb.cs.uni-dortmund.de/Lehre/Desktop_Video_SS1999/PDF/DT-Video.4.Verwendungen.pdf http://www.cg.cs.tu-bs.de/v3d2/sep99workshop/slides/coral.pdf http://www.rukzio.de/pdf/zwischenbericht.pdf http://www.rz.rwth-aachen.de/gfx/archiv/Vortrag_streaming_AKMedia.PDF http://www.iam.unibe.ch/rvs/lectures/mmk/mmk_7.pdf http://www-ra.informatik.uni-tuebingen.de/lehre/ws00/pro_internet_ausarbeitung/proseminar_teifel_ws2000.pdf http://www-ra.informatik.uni-tuebingen.de/lehre/ss01/pro_internet_ausarbeitung/proseminar_mangin_ss2001.pdf http://www.lrz-muenchen.de/services/schulung/unterlagen/neues-aus-mm/Neues-aus-MM.pdf http://www.rz.rwth-aachen.de/gfx/archiv/Vortrag_streaming_AKMedia.PDF http://www.uni-muenster.de/ZIV/Lehre/2001_Sommersemester/www_ss200121.d/Multimedia.pdf http://www.rvs.uni-hannover.de/people/olbrich/20000502_Diss_12.pdf http://www2.inf.fh-rhein-sieg.de/mi/lv/mbc-2/ss99/mbc2-rt.PDF http://www2.gm.fh-koeln.de/hstl/WRAKG/Goettingen/Clauberg.pdf http://tech-www.informatik.uni-hamburg.de/lehre/ws2000/vl-audioverarbeitung/09-streaming.pdf http://www.ericsson.de/downloads/pressenews/0250056-Streaming.pdf http://www.lkn.ei.tum.de/lkn/mitarbeiter/josef/public_html/ws-dresden.pdf Downloading this presentation markuswichmann.de/mmse
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
advertising