Webrtc Meeting Portal

Webrtc Meeting Portal

Masaryk University Faculty of Informatics WebRTC Meeting Portal Bachelor’s Thesis Václav Štěbra Brno, Spring 2016 Declaration Hereby I declare that this paper is my original authorial work, which I have worked out on my own. All sources, references, and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Václav Štěbra Advisor: doc. RNDr. Tomáš Pitner, Ph.D. i Acknowledgement I am very thankful to my colleagues from SDE for their great and valuable feedback on the implementation of the portal. I would also like to thank my parents for their endless support. iii Abstract The goal of the thesis is to build online meeting portal. The portal should be built using the WebRTC technology which enables real-time communication in the web browser. The thesis should also investigate already existing applications that can be used for video conferences. iv Keywords online audio communication, online video communication, WebRTC, Javascript, NodeJS, HTML5 v Contents 1 Introduction ............................1 1.1 Motivation ..........................1 1.2 Goal of the thesis .......................2 2 Online communication .....................3 2.1 Real-time communication applications ............3 2.1.1 Desktop applications . .4 2.1.2 Web applications . .4 2.2 WebRTC ............................5 3 Portal requirements .......................7 3.1 Functional requirements ...................7 3.2 Nonfunctional requirements .................7 3.2.1 Used technologies . .9 4 Architecture and implementation ............... 15 4.1 Authentication ........................ 15 4.2 Meeting planning ....................... 15 4.3 Meetings ........................... 15 4.4 Architecture .......................... 16 4.4.1 Routing . 16 4.4.2 Models . 19 4.4.3 WebSocket server . 20 4.4.4 WebRTC . 21 5 Deployment of the portal .................... 27 6 Conclusion ............................. 31 6.1 Evaluation ........................... 31 6.2 Possible extensions ...................... 31 Bibliography . 33 A Attachment ............................ 35 vii List of Figures 3.1 Use case diagram for the portal 8 3.2 WebRTC architecture [12] 13 4.1 Classes representing application controllers 18 4.2 Sequence diagram for making WebRTC call 25 5.1 Deployment diagram for the portal 29 ix 1 Introduction 1.1 Motivation The Internet is everywhere in today’s society. It can be found in our homes, coffee shops, buses and even in our mobile phones. Internet has created a brand new way of communication between people in the whole world. It does not matter if you are in the Czech Republic, in the United States or in the Australia – there is still Internet connection available. And with that comes the opportunity to communicate with other people. The internet browser has become one of the most used application in almost all devices. It became an indispensable part of our life. Some of the computer users do not even use any other application than the browser. It became gate to their digital lives. Even though Internet originally served for publishing static con- tent, Rich Internet Applications have begun to spread recently. These applications look like old fashioned desktop applications and pro- vide web pages with interactivity – moving objects on the page, better graphics, asynchronous reloading of information on the web page, playing multimedia, etc. Also real-time applications have begun to ex- pand. These applications make communication from server to clients possible. Instead of just clients sending requests to the server, the server can now provide all connected clients with fresh information as soon as it is available. Real-time technologies made the creation of multimedia communication applications directly in the browser possible. They are also used mostly for applications like social media, or online games, where the freshness of the data is very important. In the past plugins were used for creating real-time applications. These plugins were needed to install in the browser in order for the page to work correctly. This solution is not ideal, because it forces users to become maintainers of their own browser. It also forces them to install and check for updates of these plugins for which some users may not have the necessary knowledge. Some of these plugins do not necessarily have to be safe and they open backdoors to user’s com- puter. Examples of these plugins are Flash and Silverlight. Because 1 1. Introduction of these shortcomings HTML51 and Javascript have been spreading more. These technologies provide way to create interactive applica- tions without the need of using yet another modules. They are using native capabilities of the browser and therefore there is no need to install and maintain plugins. 1.2 Goal of the thesis This bachelor thesis is concerned with creation of internet portal which will be used for making audio and video conferences. Most of today’s solutions for online conferences is in the form of desktop applications which forces users to download, install and maintain this installation on their own computers. Usage of these application may also not be free for larger group of people in simultaneous call. The portal is based on WebRTC2 technology. This technology provides interfaces for real- time communication directly between browsers. It contains functions for sending audio, video and also files. This interface is becoming part of almost all browsers. Therefore there is no need of any interference from user in order to use this portal. When WebRTC will be available in all browsers, the portal will be available to all users no matter what device they use. Management of the users participating in given conference is vital part of this portal. When creating a conference there is possibility to pick a list of users who will participate in this conference. Theoretical part of this thesis is researching applications that are currently used for online conferences. Next part contains the descrip- tion of available technologies that can be used for creating Rich Internet Applications. Main content is the description of WebRTC technology and interfaces it provides for programmers. Practical part is describ- ing the implementation of the portal and the resulting application. It sums the decisions made during the development of the portal including its deployment. In the next chapter of the practical part is the implementation evaluated and the problems and shortcomings that appeared during the development are mentioned. Possibilities of further extension are summarized in the conclusion. 1. HyperText Markup Language 2. Web Real-Time Communication – https://webrtc.org/ 2 2 Online communication With the development of the internet there has been a big expansion of communication over internet. Advantages of online communication are high availability and that this communication is mostly free of charge – included in the cost of internet connection. In the time of writing this thesis 72,97 percent of population of Czech Republic has Internet connection [3]. In the world it is 35 percent of all population [3]. This high percentage of availability makes internet great platform for everyday communication with family, friends, coworkers and also with clients. Online communication can be divided based on the type of trans- ferred messages. The most widely used form of communication nowa- days is text communication. Examples of this communication are email, social networks and chat portals. The main advantage of this form of communication is that the recipient of the message does not have to be online and can read the messages later. Another advantage is that it is easier to store the history of the communication. Next form of communication is multimedia communication. This commu- nication transfers audio, video or combination of both between the participants in the real-time. The main advantage is the possibility of immediate reaction like in the personal communication. Disadvan- tages are bigger data flow and need of bigger storage in order to store the history of communication. This thesis is concerned with creating online portal for video conferences. 2.1 Real-time communication applications This section describes various applications that can be used for any form of real-time communication. It lists both desktop and web appli- cations. Web applications are easier to use because they do not usually need any setup. On the other hand desktop applications often offers richer functions and higher quality of audio and video transfer. It is up to the individual to select which solution suits his needs. 3 2. Online communication 2.1.1 Desktop applications ∙ Skype1 – communication application owned by Microsoft. It supports both chat messages and audio and video calls. It also supports calls to mobile phones and group calls. ∙ Pidgin2 – chat application that can use various chat networks such as ICQ, Google Talk, XMPP, IRC. It is also extensible with plugins, which can add support for other networks and proto- cols. ∙ ICQ3 – instant messaging software using OSCAR protocol. Some of it’s features are group chats, video chats and file trans- fers. ∙ Miranda4 – lightweight instant messaging software which sup- ports multiple communication protocols. It is also extensible via plugins which can add support for other most used protocol that are not included in the base distributions. 2.1.2 Web applications ∙ Oracle Beehive Conferencing5 – web conferencing software used mostly by Oracle

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    47 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us