Wprowadzenie. 1. Terminal WebRTC. LABORATORIUM 5: WebRTC komunikacja między terminalami.

Podobne dokumenty
Testy współpracy. Asterisk z techniką WebRTC

Co to jest NODE.JS? Nowoczesne środowisko programistyczne

Udostępnianie obrazu z kamer Sanyo HD na stronach WWW PORADNIK

Audio i Video w HTML5

KONFIGURACJA KAMER FORTEC IP

Funkcje i instrukcje języka JavaScript

Wybrane działy Informatyki Stosowanej

Instrukcja wejścia na lekcje on-line

Instalacja NOD32 Remote Administrator

Podstawy technologii WWW

Wybrane działy Informatyki Stosowanej

Spis treści CZĘŚĆ I JĘZYK SIECI 17. Wstęp 13. Rozdział 1 Wprowadzenie do HTML5 19. Rozdział 2 Znajomość znaczników HTML5 37

Procedura aktualizacji systemu TelkomBud. dla serwera DBfC w wersji 4.x

Konfiguracja serwera druku w Windows Serwer 2008R2.

E-ID2G-008-s2. Systemy multimedialne. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Kancelaria Prawna.WEB - POMOC

Wprowadzenie do programowania www

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Języki programowania wysokiego poziomu WWW

1 90 min. Aplikacje WWW Harmonogram spotkań, semestr zimowy (studia stacjonarne)

World Wide Web? rkijanka

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Aplikacje WWW - laboratorium

Instalowanie certyfikatów celem obsługi pracy urządzenia SIMOCODE pro V PN z poziomu przeglądarki internetowej w systemie Android

Wybrane działy Informatyki Stosowanej

Zdalny dostęp SSL. Przewodnik Klienta

Podstawy programowania w języku JavaScript

INSTRUKCJA INSTALACJI OPROGRAMOWANIA MICROSOFT LYNC 2010 ATTENDEE ORAZ KORZYTANIA Z WYKŁADÓW SYNCHRONICZNYCH

Aplikacje RMI

Podręcznik instalacji Command WorkStation 5.6 z aplikacjami Fiery Extended Applications 4.2

Instalacja i konfiguracja IIS-a na potrzeby dostępu WEB do aplikacji Wonderware InTouch Machine Edition

Instrukcja użytkowania platformy ONLINE. Akademii Doskonalenia Zawodowego NATUROPATA ADZ Naturopata

Wyświetlanie publikacji w formacie DjVu. Wyświetlanie publikacji w Bałtyckiej Bibliotece Cyfrowej można realizować na 3 sposoby:

Spis treści. O autorze 13 Przedmowa 15 Wprowadzenie 17

I. Uruchomić setup i postępować według instrukcji

Instalacja i konfiguracja serwera SSH.

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Połączenia. Obsługiwane systemy operacyjne. Instalowanie drukarki przy użyciu dysku CD Oprogramowanie i dokumentacja

Instrukcja dla instalatora systemu SMDP Enterprise/Professional

Rejestratory i sieciowe kamery

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

NSA GB HDD. Skrócona instrukcja obsługi. 1-wnękowy serwer mediów. Domyślne dane logowania. Adres WWW: nsa310 Hasło: 1234

Zdalny dostęp do źródeł elektronicznych BUR dla pracowników i studentów Uniwersytetu Rzeszowskiego

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Nagrywamy podcasty program Audacity

Konfiguracja przeglądarek do pracy z aplikacjami Asix.Evo Instalacja i konfiguracja dodatku IE Tab

Wybrane działy Informatyki Stosowanej

KONFIGURACJA USŁUGI ZSIMED NA SERWERZE ZDALNYM

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska

Zdalny dostęp do źródeł elektronicznych BUR dla pracowników i studentów Uniwersytetu Rzeszowskiego

HTML (HyperText Markup Language) hipertekstowy język znaczników

Wymagania techniczne systemu AudaNet/BRE

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

Jak przeglądać publikacje w formacie DjVu?

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Sieci multimedialne Multimedia networks. Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

Bazy danych i strony WWW

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Instalacja. Produkt pokazany na ilustracjach w tej instrukcji to model TD-VG3631. Podłączanie urządzenia

Programowanie Komponentowe WebAPI

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Komunikacja i wymiana danych

Zaawansowane aplikacje internetowe - laboratorium

KORZYSTANIE Z BAZY DANYCH UpToDate

Wymagania systemu AudaNet

Instrukcja. Skrócona instrukcja konfiguracji wideodomofonowego systemu jednorodzinnego V_1.0

Wymagania do zdalnej instalacji agentów firmy StorageCraft

BIURO USŁUG INFORMATYCZNYCH "T-SOFT"

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Instrukcja wejścia na konsultacje on-line

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Opis administracji terminali ABA-X3 v.1.5.0

System kontroli dostępu ACCO NET Instrukcja instalacji

Platforma webowa IIS

Mazowiecki Elektroniczny Wniosek Aplikacyjny

PODSTAWOWA OBSŁUGA PROGRAMU PROGRAMU PACKET TRACER TRYB REAL TIME

4. Podstawowa konfiguracja

ANIMACJE W CSS3. Czyli po co płacić podatek o Javy Script i JQuery

Zaawansowane Techniki WWW (HTML, CSS i NODE.JS)

Aplikacje WWW - laboratorium

Czym jest AJAX. AJAX wprowadzenie. Obiekt XMLHttpRequest (XHR) Niezbędne narzędzia. Standardowy XHR. XHR z obsługą baz danych

HTML 5 język wykorzystywany do tworzenia i prezentowania stron internetowych www. Jest

Usługi sieciowe systemu Linux

elektroniczna Platforma Usług Administracji Publicznej

Laboratorium 3.4.2: Zarządzanie serwerem WWW

Zdalny dostęp do źródeł elektronicznych BUR dla pracowników i studentów Uniwersytetu Rzeszowskiego

1. Instalacja platformy.net Framework.

Popularne dostępne rozwiązania. Najpopularniejsze środowiska programistyczne:

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS

Platforma szkoleniowa krok po kroku

Opis specjalności. Zajęcia obejmować będą również aspekty prawne dotyczące funkcjonowania sieci komputerowych i licencjonowania oprogramowania.

Dokument hipertekstowy

Laboratorium - Poznawanie FTP

INSTRUKCJA PODŁĄCZENIA KAMERY IP SERII LV VSS

SERWER AKTUALIZACJI UpServ

SIECI KOMPUTEROWE I TECHNOLOGIE INTERNETOWE

Transkrypt:

LABORATORIUM 5: WebRTC komunikacja między terminalami. Wprowadzenie Technika WebRTC (złożenie angielskiego słowa Web oraz akronimu RTC, pochodzącego od angielskiego Real-Time Communications, komunikacja w czasie rzeczywistym) oznacza możliwość transmisji lokalnie pozyskanych mediów. W systemach tych strona WWW pełni rolę interfejsu użytkownika. Podstawową cechą techniki WebRTC jest wsparcie obsługi mediów w przeglądarce internetowej oraz wsparcie dla sygnalizacji stosującej protokół SDP. Takie założenie pozwala na realizację systemów telefonii, wideokonferencji, ale także gier sieciowych czasu rzeczywistego (on-line gaming) lub współpracy sieciowej (remote collaboration) korzystając z zasobów własnych przeglądarki, czyli bez dodatkowych modułów ładowanych do przeglądarki. WebRTC korzysta z funkcji dostarczanych przez język HTML5 (HyperText Markup Language) oraz przez język programowania JavaScript. Prace standaryzacyjne są prowadzone głównie w ramach grupy IETF WG RTCWeb, wsparte przez współpracę z W3C. Podstawowe zadania zadeklarowane przez WG RTCWeb obejmują: definicję modelu komunikacji z uwzględnieniem aspektów zarządzania sesją, określenie aspektów bezpieczeństwa transmisji, w tym użycie mechanizmów protokołu bezpieczeństwa, definicję rozwiązań dla modułu firewall oraz NAT, określenie niezbędnego wsparcia w systemie klienckim dla funkcji zorientowanych na transmisję strumieni mediów, takich jak format kodowania informacji dla różnych mediów oraz wskazanie kodeków, określenie metod transmisji dodatkowych informacji (non-media) pomiędzy przeglądarkami, itp. 1. Terminal WebRTC Terminal WebRTC utworzono na bazie komputera PC z przeglądarką obsługującą technikę WebRTC. Obecnie technikę WebRTC wspierają przeglądarki: Google Chrome, Mozilla FireFox, Microsoft Edge i Opera. Odtwarzanie i udostępnianie mediów realizowane jest przy użyciu znaczników (tag) języka HTML5 <audio> i <video>. Pozwalają one na odtwarzanie, odpowiednio, dźwięku i filmu wideo (w tym: wraz ze skojarzonym z nim dźwiękiem) z zasobów lokalnych i zdalnych. Przykłady: użycie znacznika audio <audio controls> 1

src="http://www.music.helsinki.fi/tmt/opetus/uusmedia/esim/a20 02011001-e02-128k.mp3" type="audio/mpeg"> Przeglądarka nie obsługuje tagu audio. </audio> Kompletny kod strony (w celu uruchomienia zapisać poniższy kod w pliku z rozszerzeniem html i otworzyć go w przeglądarce): <audio controls> src="http://www.music.helsinki.fi/tmt/opetus/uusmedia/esim/a20 02011001-e02-128k.mp3" type="audio/mpeg"> Przeglądarka nie obsługuje tagu audio. </audio> użycie znacznika video <video width="320" height="240" controls> src="http://download.blender.org/peach/bigbuckbunny_movies/big _buck_bunny_480p_stereo.ogg" type="video/ogg"> Przeglądarka nie obsługuje tagu video. </video> Kompletny kod strony (w celu uruchomienia zapisać poniższy kod w pliku z rozszerzeniem html i otworzyć go w przeglądarce): 2

<video width="320" height="240" controls> src="http://download.blender.org/peach/bigbuckbunny_movies/big _buck_bunny_480p_stereo.ogg" type="video/ogg"> Przeglądarka nie obsługuje tagu video. </video> 2. Serwer Serwer WWW udostępniający kod strony i serwer sygnalizacyjny zbudowane zostaną przy wykorzystaniu środowiska uruchomieniowego node.js. Środowisko to umożliwia uruchamianie skryptów napisanych w języku JavaScript. Uwaga: Gdy nie jest zainstalowane środowiska uruchomieniowego node.js, pobieramy ze strony: https://nodejs.org/en/download/ Windows Installer (.msi) 64-bit i instalujemy. Dostęp do środowiska uruchomieniowego node.js z wiersza poleceń. Podstawowe polecenia: node uruchomienie interpretera JavaScript npm uruchomienie menadżera pakietów npm (node package manager) Za pomocą node.js można testować skrypty JavaScript i można utworzyć własny, prosty serwer. Instalacja prostego serwera www statycznego (brak stron dynamicznie generowanych) npm install node-static Kod serwera: var m_static = require('node-static'); var m_http = require('http'); //tworzy serwer http var m_file = new(m_static.server)(); //dodaje obsluge systemu plikow do serwera http var m_app = m_http.createserver(function(req, res) { m_file.serve(req, res); }).listen(80); 3

Powyższy kod serwera należy zapisać w pliku z rozszerzeniem js (np. j1.js) i zapisać w bieżącym katalogu, w którym znajdujemy się w wierszu poleceń. Serwer uruchamiamy (jeżeli nasz plik ma nazwę j1.js) za pomocą polecenia: node j1.js Sprawdzamy czy serwer działa z poziomu przeglądarki podając adres serwera i żądany plik np. http://10.64.1.11/a.txt (gdzie: 10.64.1.11 to adres naszego komputera sprawdzić za pomocą polecenia ipconfig, a.txt to żądany plik plik a.txt należy utworzyć w tym samym katalogu co plik j1.js). Dodajemy obsługę biblioteki pomocniczej adapter.js: npm install --save webrtc-adapter 3. Udostępnianie lokalne mediów Pozyskiwanie lokalnego audio z mikrofonu i wideo z kamerki podłączonych do komputera użytkownika realizowane jest za pomocą funkcji getusermedia. Przed udostępnianiem pojawia się okno dialogowe w którym użytkownik proszony jest o wyrażenie zgody na udostępnianie danego urządzenia. Jeżeli system komputerowy posiada więcej niż jedną kamerę, użytkownik może zostać poproszony o wybór aktywnego urządzenia (np. przedniej i tylnej kamery w telefonie komórkowym). Poniżej podano przykład użycia funkcji getusermedia. var parav = { audio: true, video: { width: 1280, height: 720 } var OK = function(str){ alert("udostępniono media lokalne."); var BAD = function(error) { alert("niepowodzenie. Kod: "+ error); navigator.getusermedia(parav, OK, BAD); Skrypt języka JavaScript, który zawiera kod obsługi terminala WebRTC jest umieszczany w kodzie strony WWW pomiędzy znacznikami <script> i </script>. Obecnie udostępnianie mediów możliwe jest jedynie dla kodu strony pobranego z zewnętrznego źródła serwera obsługującego protokół HTTPS. Pełny kod udostępniania lokalnego mediów znajduje się poniżej: 4

<video autoplay></video> <script src="node_modules\webrtc-adapter\out\adapter.js"> </script> <script> czy_jest =!!(navigator.getusermedia) var parav = { audio: true, video: { width: 320, height: 200 } var OK = function(str){ var matv = document.queryselector("video"); matv.src = window.url.createobjecturl(str); console.log("udostępniono media lokalne."); var BAD = function(error) { alert("niepowodzenie. Kod: "+ error); console.log("kod błędu: ",error); if (czy_jest) { navigator.getusermedia(parav, OK, BAD); } else { alert("brak obsługi udostępniania mediów"); </script> Bibliografia [1] A. Chodorek, R.R. Chodorek: Udostępnianie mediów lokalnych przeglądarce internetowej z wykorzystaniem techniki WebRTC. Autobusy: technika, eksploatacja, systemy transportowe, 2016, 17.6: 1278-1281. http://www.autobusytest.com.pl/images/stories/do_pobrania/2016/nr%206/logistyka/07_l_chodorek_chodorek.pdf 5