The attractiveness of real-time multimedia communication as part of an e-learningplatform largely depends on the quality of the telecommunications infrastructure and on theservices that support the exchange of audiovisual data. The research subject of this workis communication between stationary and mobile devices using distributed services such asWeb Real-Time Communication (WebRTC) running in HTML5 compliant web browsers. Thetest connections were carried out in a peer-to-peer architecture over a local wireless WiFinetwork and a mobile network supporting the Long Term Evolution (LTE) standard fordata interchange. Several audiovisual sessions between two clients were analyzed for differentconnection scenarios. Parameters responsible for the transmission quality, such as delay, jitter,packet loss, or the speed of sending and receiving video frames were measured for each scenario.Open audiovisual communication system performance experiments were conducted under realoperating conditions. The obtained results indicated potential applications in the developmentof e-learning websites.
Artykuł dotyczy testowania usługi WebRTC (Web Real Time Communication) w środowisku MiniNet. Przedstawiony został problem wpływu opóźnienia, przepustowości oraz poziomu strat pakietów na jakość komunikacji z wykorzystaniem usługi WebRTC. Przedstawione zostały aplikacje pozwalające na zmianę warunków panujących w sieci oraz aplikacja analizująca audio i wideo pod kątem jakości. Przybliżone zostały trzy scenariusze badań oraz wpływ zmieniających się parametrów w każdym z przypadków na jakość komunikacji.
EN
This article focused on testing the WebRTC (Web Real Time Communication) service in a MiniNet environment. The problem of how latency, bandwidth, and packet loss levels affect the quality of communication using the WebRTC service was shown. Applications that allow changing network conditions and an application that analyses audio and video for quality were presented. Three test scenarios and the impact of changing parameters in each case on the quality of communication are presented.
W artykule przedstawiono budowę klienta sygnalizacji współpracującego z prostym serwerem sygnalizacyjnym. Klient taki może być prostym klientem, wymagającym jedynie podstawowej sygnalizacji, lub bardziej złożonym. Jako przykład systemu o większym stopniu złożoności pokazano aplikację zgodną z architekturą WebRTC. W artykule przedstawiona została przykładowa komunikacja pomiędzy klientem i serwerem zebrana podczas sesji WebRTC. Artykuł zawiera również przykłady dwóch rozwiązań aplikacji czatu internetowego, które wykorzystują ten sam interfejs użytkownika oraz ten sam system sygnalizacji (drugie rozwiązanie rozszerza pierwsze o obsługę komunikatów sygnalizacyjnych techniki WebRTC), różnią się natomiast sposobem transmisji danych użytkownika (wiadomości tekstowych czatu). W pierwszym rozwiązaniu dane użytkownika przenoszone są kanałem sygnalizacyjnym (via serwer sygnalizacyjny) z wykorzystaniem interfejsu WebSocket. W drugim rozwiązaniu dane użytkownika przenoszone są bezpośrednio pomiędzy przeglądarkami (kanałem WebRTC przeznaczonym do transmisji danych niemedialnych) z wykorzystaniem interfejsu RTCDataChannel techniki WebRTC.
EN
A simple signalling server, written in JavaScript and running in node.js run-time environment, was presented in the previous paper of the Authors [3]. In this paper, principles of building of WebRTC signalling client are presented, as well as exemplary communication between the client and the server, captured with the use of WireShark software tool during experimental WebRTC sessions. The paper includes also an example of application of Internet chat, that uses the simple signalling server [3]. The chat was builreneusz in two versions, which uses the same user interface and their signalling systems were build according to the same methodology, but differs in method of transmission of chat messages. The first version transmits user data (text messages of the chat) via signalling server, with the use of signalling channel. This version uses WebSocket interface for transmission of chat messages. In the case of the second version, user data are transmitted directly between web browsers, using WebRTC's channel dedicated for transmission of nonmedia data. This version transmits chat messages with the use of WebRTC's RTCDataChannel interface.
The paper describes a complete voice communication system based on the implementation of Asterisk software PBX and additionally employing classical SIP, and novel WebRTC solutions to create a signaling system. The implementation presented explores many functions of the system with an emphasis on enhancing its didactic impact and promoting understanding of configuration and signaling aspects.
PL
W artykule przedstawiono kompletny system komunikacji głosowej wykorzystujący zarówno programową centralę Asterisk, jak i jednocześnie dwa systemy sygnalizacji: klasyczny SIP i nowy stosowany w technologii WebRTC. Przedstawione rozwiązanie wykorzystuje jednocześnie wiele funkcji systemów, pozwalając na wyeksponowanie istotnych z punktu widzenia dydaktyki aspektów budowy systemów VoIP.
Video walls are useful to display large size video content. Empowered video walls combine display functionality with computing power. Such video walls can display large scientific visualizations. If they can also display high-resolution video streamed over a network, they could enable distance collaboration over scientific data. We proposed several methods of network streaming of highresolution video content to a major type of empowered video walls, which is the SAGE2 system. For all methods, we evaluated their performance and discussed their scalability and properties. The results should be applicable to other web-based empowered video walls as well.
Technika WebRTC, bazująca na językach HTML5 i JavaScript, umożliwia natywną transmisję informacji multimedialnej w czasie rzeczywistym pomiędzy przeglądarkami WWW. Chociaż same strumienie mediów, a także transmisje niemedialne (obecne w architekturze WebRTC, choć nie wymagające czasu rzeczywistego), przesyłane są bezpośrednio pomiędzy przeglądarkami, do przesyłania informacji niezbędnych do zarządzania sesją (a konkretniej: nawiązywania sesji) potrzebny jest serwer sygnalizacyjny. Serwer taki może być traktowany jako punkt spotkań dwóch lub więcej systemów końcowych wykorzystujących technikę WebRTC. W artykule przedstawiono zasady budowy takiego serwera za pomocą aplikacji tworzonych w języku JavaScript i uruchamianych w środowisku node.js. Omówiono środowisko node.js oraz pokazano przykład prostego serwera sygnalizacyjnego, budowanego na potrzeby wymiany komunikatów i (lub) inicjowania (wideo)telefonii lub (wideo)konferencji z małą liczbą terminali. Serwer ten łączy uczestników tylko w ramach pojedynczej sesji 1-do-1 lub wielu-do-wielu. Pomimo dużej prostoty, przykładowy serwer jest w pełni funkcjonalnym serwerem sygnalizacyjnym WebRTC, umożliwiającym realizację, między innymi, (wideo)telefonii pomiędzy przeglądarkami używającymi WebRTC.
EN
Web Real-Time Communications (WebRTC) technology is an enabler of native transmission of multimedia information between two and more Web browsers. WebRTC is based on HTML version 5 (HTML5) and JavaScript languages. Although both real-time media streams (audio, video) and non-real-time non-media flows (also present in WebRTC architecture) are transmitted directly between browsers, to enable transmission of information necessary for session management (and more precisely: session establishment) purposes, a signalling server is needed. Such server may be regarded as a rendez-vous point of end systems that use WebRTC technology. In this paper, node.js run-time environment and principle of building of Webrtc signalling server with the use of scripts written in JavaScript and run in node.js are presented. Example of script of a simple signalling server also is shown. The exemplary server connects users of one and only session, although this session may serve not only one-to-one, but also many-to-many connections. Despite its simplicity, this is a fully functional signalling server, able to serve signalling messages for purposes of message exchange, or for purposes of initialization of WebRTC-based Internet telephony or simple conferencing systems.
Artykuł przedstawia analizę systemu Internetu Rzeczy zintegrowanego z systemem wideokonferencyjnym zbudowanym zgodnie z architekturą WebRTC. Dane aplikacji Internetu Rzeczy przesyłane są pomiędzy terminalami kanałem danych WebRTC, równocześnie z danymi wideokonferencji. Analiza uwzględnia poziomy QoS protokołu MQTT, liczbę aktywnych urządzeń Internetu Rzeczy oraz lokalizację terminali (pobliską i odległą).
EN
In this paper, an analysis of Internet of Things (IoT) system, integrated with a videoconferencing system built according to the WebRTC architecture, is presented. Analysis covers Quality of Service (QoS) levels of the MQTT protocol, number of active IoT devices and location of a corresponding WebRTC terminal.
W artykule przedstawione zostały badania systemu zapewnienia jakości usług sieciowych (QoS) dla ruchu WebRTC. Jako przykład ruchu WebRTC został użyty ruch generowany przez aplikację wideokonferencyjną. Mechanizmy zapewnienia jakości WebRTC są obecnie opisane dokumentem roboczym Internet Draft i zakładająużycie architektury Diffserv. Badania prowadzone były w sieci 802.11. Zastosowano typowe odwzorowanie parametrów architektury DiffServ (danych punktem kodowym DSCP) w parametry jakościowe sieci 802.11.
EN
In this paper, an investigation of mechanism of quality of service (QoS) assurance for WebRTC traffic is presented. As an example of the WebRTC traffic, a traffic generated by videoconferencing applications was used. Mechanisms of QoS assurance for WebRTC traffic are described in an IETF's working document (Internet Draft) and assumes usage of the DiffServ architecture. An investigation was carried out in the 802.11 network. Typical mapping of a DSCP value (parameters of the DiffServ) into a 802.11 classification of QoS was used.
Mimo, iż architektura WebRTC systemów konferencyjnych pozwala na zestawianie bezpośrednich połączeń peer-to-peer pomiędzy przeglądarkami WWW, znane są również rozwiązania pozwalające na zestawienie scentralizowanej konferencji, wykorzystującej mostek konferencyjny. Jednym z takich rozwiązań jest Kurento Media Server. W artykule przedstawione zostały badania wideokonferencji WebRTC bazującej na serwerze mediów (mostku konferencyjnym) Kurento, zlokalizowanym w środowisku zdalnej chmury.
EN
Although the WebRTC architecture of conferencing systems allows the user for establishment of direct peer-to-peer connections between web browsers, there are known solutions that allow for setup of a centralized conference, which uses a conferencing bridge. One of such solutions is the Kurento Media Server. In the paper investigations of a WebRTC videoconference based on the Kurento Media Server (conference bridge) in remote cloud environment are presented.
Architektura WebRTC umożliwia budowę połączeń konferencyjnych, którymi przesyłane są dane medialne (dźwięk z mikrofonu, obraz z kamery). Umożliwia ona również przesyłanie danych niemedialnych (pliki, obrazy, wykresy, ale również dane pomiarowe - np. pochodzące z Internetu Rzeczy). Dane niemedialne w systemach zgodnych z architekturą WebRTC przesyłane są równocześnie z danymi medialnymi, a transmisja odbywa się osobnym kanałem danych. W artykule przedstawione zostały istotne elementy techniki WebRTC wykorzystywane do transmisji danych niemedialnych. Przedstawiono sposób zarządzania połączeniem dla transmisji danych oraz procedury stosowane do wymiany danych. Opisane zostały sposoby reprezentacji danych niemedialnych dostępne w technice WebRTC. Przedstawione zostały również podstawowe elementy sygnalizacji, wykorzystywane podczas tworzenia sesji WebRTC dla transmisji danych niemedialnych.
EN
This paper presents the most important elements of the WebRTC technology that are used for transmission of non-media data. Non media data (as files, pictures or results of measurements) are transmitted simultaneously with the media data (real-time transmission of multimedia information), although real-time constraints haven't to be preserved. The paper shows connection management and session setup for the purposes of transmission of non-media data.
Artykuł przedstawia warstwowy model opisujący ustanawianie sesji WebRTC, uzyskany na podstawie analizy dokumentacji protokołów biorących udział w ustanawianiu sesji oraz kodów źródłowych przeglądarek internetowych. Prezentację modelu zilustrowano przykładami transmisji multimedialnej pomiędzy przeglądarkami WWW oraz pomiędzy przeglądarką a terminalem VoIP.
EN
This paper presents a layered model of the WebRTC session establishment, extracted from documentation and software implementation. The model's presentation is illustrated by examples of multimedia transmissions carried out directly between Web browsers and between a Web browser and a VoIP terminal.
Artykuł przedstawia opis sesji multimedialnej za pomocą protokołu SDP, jednego z elementów sygnalizacji WebRTC. Omówiono protokół SDP wraz z odniesieniami do techniki WebRTC oraz komponenty semantyczne sesji WebRTC. Opis formalny zilustrowano przykładami praktycznej realizacji transmisji, z uwzględnieniem danych przesyłanych na poziomach: sesji i mediów.
EN
The paper presents a description sessions using the SDP protocol, functional component of WebRTC signaling. The paper describes the SDP with reference to the WebRTC, as well as semantic components of SDP for the WebRTC. Formal description is illustrated by an example of SDP offer and answer, accomplished with the use of the WebRTC. Signaling data, generated and transferred at the session and media layers, are also presented.
Sygnalizacja w technice WebRTC wykorzystuje protokół SDP do opisu sesji. Typowo protokół SDP współpracuje z protokołem SIP, tworząc stos protokołowy SDP/SIP. Aby uprościć przetwarzanie protokołowe, w WebRTC zastosowano stos protokołowy SDP/JSEP. Artykuł omawia metody współpracy systemów multimedialnych, zbudowanych z zastosowaniem WebRTC, z systemami konferencyjnymi korzystającymi z protokołu SIP. Ilustruje również aspekty praktyczne współpracy WebRTC z systemami multimedialnymi implementującymi protokoły SDP/SIP.
EN
Signaling implemented in WebRTC technology describes session parameters using SDP protocol. Typically, SDP cooperates with SIP protocols, making the SDP/SIP protocol stack. However, in order to simplify control information processing, WebRTC technology uses the SDP/JSEP protocol stack. This paper discusses methods of cooperation of WebRTC-based multimedia systems with teleconferencing systems based on SIP protocol. The paper also presents practical aspects of cooperation of the WebRTC with multimedia systems implementing SDP/SIP protocols.
Technika WebRTC jest obecnie intensywnie rozwijana i umożliwia bezpośrednią transmisję strumieni multimedialnych pomiędzy przeglądarkami internetowymi, zatem może być również stosowana w realizacji systemów VoIP. Artykuł opisuje motywację oraz wyniki testów współpracy techniki WebRTC z programową centralą Asterisk z otwartym kodem. Przedstawione wyniki wskazują na poprawne funkcjonowanie oprogramowania Asterisk jako bramki multimedialnej współpracującej z techniką Web RTC. Artykuł ilustruje różne podejścia do realizacji usług multimedialnych, bowiem Asterisk reprezentuje podejście scentralizowane a WebRTC - zdecentralizowane, peer-to-peer.
EN
WebRTC technology is currently intensively developed and it enables direct transmission of multimedia streams between web browsers. The paper describes motivation and results of cooperation tests when WebRTC technology interworks with Asterisk, an open source software PBX. Presented results show correct functioning of Asterisk software as multimedia gateway cooperating with WebRTC technology. The paper illustrates different concepts for multimedia services since Asterisk is centralized solution whileWebRTC represents decentralized approach.
Technika WebRTC pozwala na realizację mobilnych terminali (wideo)konferencyjnych i (wideo)telefonicznych, które korzystają z przeglądarki WWW jako interfejsu użytkownika. Technika ta różni się, niekiedy znacząco, od klasycznej telefonii VoIP. Artykuł przedstawia analizę współpracy terminali mobilnych wykorzystujących technikę WebRTC z terminalami telefonii VoIP, które klasycznie budowane są z zastosowaniem protokołu SIP. W artykule dokonano analizy współpracy sygnalizacji WebRTC z sygnalizacją VoIP oraz przedyskutowano zagadnienia transmisji mediów.
EN
The WebRTC allows the developer to create mobile terminals for (video)conferencing and (video) telephony purposes. Such terminals use Web browsers as user interfaces. The WebRTC technology differs, sometimes significantly, from the classic VoIP telephony. This paper presents an analysis of cooperation of mobile terminals that use the WebRTC conferencing systems with terminals that use the SIP-based telephony. Some aspects of cooperation of WebRTC and SIP signaling, as well as media transmission are also discussed.
WebRTC to technika multimedialna oparta na nowej wersji języka opisu stron WWW, HTML 5, i skryptach JavaScript. Pozwala ona na budowę systemów wideotelefonicznych, telekonferencyjnych, monitorujących i im podobnych, dla których interfejsem użytkownika jest strona WWW. Niniejszy artykuł jest poświęcony modelom architektury WebRTC. Przedstawiono w nim oraz porównano trzy, znane z literatury, modele WebRTC.
EN
The WebRTC is based on the new version of the HyperText Markup Language, the HTML 5, and JavaScript programming. It allows Web programmers to build multimedia systems (videotelephony, conferencing and monitoring systems, and the like) that use Web pages as the user interface. This paper is devoted to a models of the WebRTC architecture. Three different models, known from the literature, are presented and comprised.
Wprowadzenie nowej wersji standardu języka HTML, HTML 5, zaowocowało szeregiem nowych możliwości. Strony WWW otrzymały, między innymi, możliwość odtwarzania informacji multimedialnej w czasie rzeczywistym za pomocą wewnętrznych odtwarzarek przeglądarki (na podobnej zasadzie, na jakiej dotychczas wyświetlane były, np., obrazy), a nie za pomocą zewnętrznych obiektów osadzanych na stronie. Dzięki szerszemu niż dotychczas zastosowaniu języka JavaScript zwiększono również funkcjonalność takiego odtwarzania. Jednym z przykładów zwiększonej funkcjonalności jest technika WebRTC umożliwiająca, między innymi, budowę stron WWW z elementami funkcjonalnymi odpowiadającymi w pełni interaktywnym aplikacjom multimedialnym. Budowa systemu monitoringu, dla którego interfejsem użytkownika jest strona WWW, kontakt z ewentualnym kontrahentem za pomocą (wideo)telefonu uruchamianego wprost na stronie WWW firmy czy kontakt (wideo)telefoniczny klienta z biurem obsługi za pomocą strony (zamiast, jak dotychczas, z wykorzystaniem czatu) to tylko niektóre z potencjalnych zastosowań tej techniki. W artykule omówiony został fragment WebRTC odpowiedzialny za udostępnianie mediów lokalnych (audio i wideo) przeglądarce WWW. Pokazano sposób realizacji takiego udostępniania za pomocą funkcji getUserMedia. Algorytm udostępniania omówiono na przykładzie podglądu obrazu z kamery internetowej.
EN
The Web Real-Time Communications (WebRTC) is a Web-oriented technique, associated with the HTML 5 standard, which allows programmers to use Web pages as user interfaces for real-time, usually interactive, communication. The aim of this review paper is to show the first stage of the WebRTC programming, i.e. getting user's media stream. The paper describes usage of the WebRTC for delivering local media (audio, video) to the local browser, which can share them with other browsers and/or show them locally, in the local video element of the HTML 5. An example of simple and effective video preview is an illustration of the discussion presented in the paper.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.