Towards Ubiquitous and Adaptive Web-Based Multimedia Communications via the Cloud

Towards Ubiquitous and Adaptive Web-Based Multimedia Communications via the Cloud

Spyros Panagiotakis (Technological Educational Institute of Crete, Greece), Ioannis Vakintis (Technological Educational Institute of Crete, Greece), Haroula Andrioti (Technological Educational Institute of Crete, Greece), Andreas Stamoulias (Technological Educational Institute of Crete, Greece), Kostas Kapetanakis (Technological Educational Institute of Crete, Greece) and Athanasios Malamos (Technological Educational Institute of Crete, Greece)
DOI: 10.4018/978-1-4666-8619-9.ch043


This chapter at first surveys the Web technologies that can enable ubiquitous and pervasive multimedia communications over the Web and then reviews the challenges that are raised by their combination. In this context, the relevant HTML5 APIs and technologies provided for service adaptation are introduced and the MPEG-DASH, X3Dom, and WebRTC frameworks are discussed. What is envisaged for the future of mobile multimedia is that with the integration of these technologies one can shape a diversity of future pervasive and personalized cloud-based Web applications, where the client-server operations are obsolete. In particular, it is believed that in the future Web cloud-based Web applications will be able to communicate, stream, and transfer adaptive events and content to their clients, creating a fully collaborative and pervasive Web 3D environment.
Chapter Preview


So far, real time multimedia communications between various client devices, either one-way (streaming) or bidirectional (chat or conference), were, more or less, a static and monolithic operation dominated by several platform-specific solutions. In particular, the streaming of media required the setup of dedicated streaming servers, the installation of the appropriate standalone applications at client side and, obviously, the support of the corresponding streaming protocols for transferring the streamed packets.

With respect to communicating at real time via the web, until recently the streaming of media over HTTP was just a myth, while the receipt of streaming media via web could be accomplished only with the installation of the appropriate third party software (browser plug-ins) to receive and process the data streamed from the server. Additionally, the popular media players provide plug-ins for most browsers to allow video and audio streams to be played back over the web. Web chatting and conferencing is also possible only via plug-ins. SIP (Session Initiation Protocol) and XMPP (eXtensible Messaging and Presence Protocol) are the most popular protocols for such uses.

However, the emergence of HTML5 (Berjon et al., 2014), early in 2008, and of other intriguing web technologies have drastically changed the whole view to a dynamic, browser-friendly and platform independent approach. This is due to the fact that HTML5 introduced several extended functionalities to web browsers changing the way data are transferred, visualizations are displayed and graphics are processed. This is mostly accomplished via several JavaScript libraries and custom JavaScript programming which allow to web-pages to gain access to various device features provided for media access and customization. In that context, the installation of flash player is not mandatory for video streaming any more, since HTML5 provides an element with the tag name “video” that can substitute the requirement for any such plug-in. Furthermore, images can be loaded in an element with the tag name “canvas”, a container which can be used to draw graphics on the fly with JavaScript. The canvas element is supported anymore by the most popular desktop and mobile browsers. Technologies such as WebGL (Web Graphics Library), SVG (Scalable Vector Graphics) and Quartz 2D can be combined with a canvas element to draw 2D and 3D graphics with support for user interaction. More critical, the Media Capture and Streams API (Burnett et al., 2013), part of the general Device APIs, enables access via the web to a user’s microphone and camera device. To this end the GetUserMedia method is defined. Hence, the live streaming of media, audio and video, from a user over the web can be now a reality.

Additionally, an innovative approach takes place in the recent browser releases with respect to the data transferring protocols over TCP/IP. WebSockets (RFC6455, 2011) use standard HTTP signaling to establish a persistent bidirectional TCP connection and transfer data, in the form of WebSockets frames, between web clients and web servers. With WebSockets web push, that is pushing data from a web server to its clients, can be a reality. In many web servers, WebSockets are ready and tested, following the introduction of the new HTML5 APIs. WebSockets Servers can be found written in many programming languages including C, Python and Java.

In the same context, WebRTC (Bergkvist et al., 2014) is an open project supported by Google, Mozilla and Opera that aims to bring high quality Web Real Time Communications between browsers using simple JavaScript and HTML5. WebRTC uses the aforementioned getUserMedia method to access a peer’s microphone and camera and stream media data to another peer browser and vice versa. The peer-to-peer connections are established via the PeerConnection API, which implements JSEP (JavaScript Session Establishment Protocol). JSEP signaling is used in the WebRTC framework as SDP in SIP-based communications that is to describe and negotiate a session between two browsers via the mediating session managers. WebRTC does not mandate the use of any session protocol, such as SIP or XMPP, enabling implementation differentiation. Ericsson labs presented the first implementation of WebRTC in 2011.

Complete Chapter List

Search this Book: