Systemy konferencyjne. Transmisja multimediów w sieciach IP. Obraz i dźwięk. mgr inż. Łukasz Kosikowski

Podobne dokumenty
Wideokonferencje MGR INŻ. PAWEŁ SPALENIAK

Serwery multimedialne RealNetworks

Rozwiązania do przechwytywania, nagrywania i dystrybucji sygnałów audio/wideo w sieciach IP Edukacja

Dr Michał Tanaś(

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Programowanie Sieciowe 1

Multicasty w zaawansowanych usługach Internetu nowej generacji

Data wykonania Część praktyczna

Sieci Komputerowe Modele warstwowe sieci

Protokoły sieciowe - TCP/IP

Sieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP

Model sieci OSI, protokoły sieciowe, adresy IP

OFERTA NA SYSTEM LIVE STREAMING

Grzegorz Gliński. 1. Opis wykonanego ćwiczenia

Kompresja sekwencji obrazów - algorytm MPEG-2

Sieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Telefonia Internetowa VoIP

Adresy w sieciach komputerowych

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

TCP/IP. Warstwa aplikacji. mgr inż. Krzysztof Szałajko

Transmisja danych multimedialnych. mgr inż. Piotr Bratoszewski

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

ZAŁOŻENIA PROTOKOŁU RTP

Programowanie współbieżne i rozproszone

L.dz.: WETI /16/2014 Gdańsk, dn

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

Wydział Informatyki, Elektroniki i Telekomunikacji Katedra Telekomunikacji

Dr Michał Tanaś(

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Wybrane działy Informatyki Stosowanej

DR INŻ. ROBERT WÓJCIK DR INŻ. JERZY DOMŻAŁ

Sygnalizacja Kontrola bramy Media

Sieci komputerowe. Wstęp

World Wide Web? rkijanka

IP VPN. 1.1 Opis usługi

Ethernet. Ethernet odnosi się nie do jednej, lecz do wielu technologii sieci lokalnych LAN, z których wyróżnić należy cztery podstawowe kategorie:

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Sieci komputerowe - Protokoły warstwy transportowej

Przesyłania danych przez protokół TCP/IP

Synchronizacja dźwięku i obrazu

Instrukcje dotyczące funkcji zarządzania pasmem w urządzeniach serii ZyWALL.

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

MODEL OSI A INTERNET

Szczegółowy opis przedmiotu zamówienia

Przesył mowy przez internet

Wykład 4. Interfejsy USB, FireWire

Plan wykładu. 1. Sieć komputerowa 2. Rodzaje sieci 3. Topologie sieci 4. Karta sieciowa 5. Protokoły używane w sieciach LAN 6.

Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym).

Dźwięk w IOS. Wykład 8. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.

Wykład 3: Internet i routing globalny. A. Kisiel, Internet i routing globalny

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

router wielu sieci pakietów

Over-the-Top czyli jak pokonać problemy technologiczne telewizji w sieci IP ISP

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Cyfrowy system konferencyjny DIS DCS 6000 Część 2 - oprogramowanie. Marcin Gontarek

Warstwa transportowa. mgr inż. Krzysztof Szałajko

Sprawozdanie Laboratorium 4

Zagadnienia egzaminacyjne ELEKTRONIKA I TELEKOMUNIKACJA studia rozpoczynające się przed r.

Streaming multimediów od kuchni

Warstwy i funkcje modelu ISO/OSI

Sieci komputerowe - warstwa transportowa

Podstawowe pojęcia dotyczące sieci komputerowych

Sieci komputerowe Warstwa transportowa

System interkomowy. Karty VoIP G8-IAX G3-IAX

Nowoczesne technologie bliżej nas 1

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

TCP/IP formaty ramek, datagramów, pakietów...

ZiMSK. Charakterystyka urządzeń sieciowych: Switch, Router, Firewall (v.2012) 1

Laboratorium podstaw telekomunikacji

Przetwarzanie i zabezpieczenie danych w zewnętrznym DATA CENTER

Sieci komputerowe i bazy danych

Działanie komputera i sieci komputerowej.

Wprowadzenie do sieci komputerowych

Technologie cyfrowe semestr letni 2018/2019

TCP/IP. Warstwa łącza danych. mgr inż. Krzysztof Szałajko

ArtPlayer oprogramowanie do odtwarzania plików video sterowane Artnet/DMX V1.0.1

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Miejski Informator naprawdę Multimedialny

Licencjonowanie serwerów do zarządzania wydajnością. Office Web Apps Server

Video Recording Manager 2.0. Przegląd systemu

Adres IP

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

Protokoły internetowe

Instrukcja dotycząca funkcji zarządzania pasmem w urządzeniach serii Prestige 660HW.

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

Wykład 4. Interfejsy USB, FireWire

Sterowanie ruchem w sieciach szkieletowych

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

Bazy Danych i Usługi Sieciowe

Wyciąg z ogólnej analizy ataków na witryny administracji państwowej RP w okresie stycznia 2012r.

Strumieniowanie danych

ZałoŜenia i koncepcja realizacji. Konferencja i3 Poznań, Cezary Mazurek, Mirosław Czyrnek

LABORATORIUM WIRTUALNE W DYDAKTYCE I BADANIACH NAUKOWYCH

Sieci komputerowe w sterowaniu informacje ogólne, model TCP/IP, protokoły warstwy internetowej i sieciowej

Kurs Ethernet przemysłowy konfiguracja i diagnostyka. Spis treści. Dzień 1

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Usługi terminalowe

Transkrypt:

ystemy konferencyjne. Transmisja multimediów w sieciach IP. Obraz i dźwięk. mgr inż. Łukasz Kosikowski

ystemy konferencyjne Konferencje telefoniczne (ang. Call conferences) Konferencje internetowe (ang. Web conferences) Konferencje hybrydowe

Wstęp do psychofizjologii percepcji Opóźnienie (akceptowalne) W aplikacjach wymagających interakcji człowieka <150ms (4,5 ramki dla 30fps) wideokonferencje, gry online, nadzorowanie dóbr znacznej wartości. 30 ms w przypadku: instalacji samochodowych, zastosowań przemysłowych, zastosowań medycznych. Echo Opóźnienie między sygnałem oryginalnym a odbitym >50ms jest identyfikowane jako echo. Przerwy w transmisji.

Tor komunikacyjny wybrane elementy AC Kodowanie Transmisja Dekodowanie CA - obraz - dźwięk - obraz - dźwięk Jakie opóźnienie wprowadza kodowanie i dekodowanie (coder/decoder = codec)? Jakie opóźnienie wprowadza transmisja?

Opóźnienie dźwięku względem obrazu na skutek kompresji dźwięku i obrazu, a także dodatkowych etapów przetwarzania może pojawić się przesunięcie między dźwiękiem obrazem wg normy ITU-R BT1359-1 (1998) dopuszczalne wartości przesunięcia między dźwiękiem a obrazem: od +90ms do -185 ms wg zalecenia R37 EBU z 2006 roku: -40ms/+60ms na wyjściu nadajnika

Opóźnienie dźwięku względem obrazu

Dźwięk czy obraz? Co jest ważniejsze, z punktu widzenia użytkowników systemu, dźwięk, czy obraz? To zależy czy sześć liczb, które padną w losowaniu Lotto, ktoś chce nam pokazać czy podyktować.

Rozmowa czy monolog? Wymagania zmieniają się w zależności od sposobu wykorzystania systemu Rozmowa dwóch osób (Meeting) Dopuszczalne, maksymalne opóźnienie 150 ms. potkanie wielu osób N:N (Meeting) Dopuszczalne, maksymalne opóźnienie 150 ms pomiędzy każdą parą uczestników. Wymagane zaawansowane zarządzanie transmisją (opóźnieniem). Czasami wymagana: zmiana parametrów kodowania (online), zmiana formatu, zmiana protokołu transmisji (jeśli to możliwe), zmiana konfiguracji (logicznej) sieci szkieletowej służącej do transmisji danych na rozległych obszarach (konfiguracja edge origin).

Rozmowa czy monolog? Webinar (1:N) Dopuszczalne większe opóźnienie (większa przepływność bitowa). Można użyć bardziej wyrafinowanych formatów kompresji wymagających znacznie większych buforów (out/in) a tym samym zwiększających opóźnienie. Zazwyczaj można transmitować obraz i dźwięk o lepszych parametrach. Co w sytuacji gdy równolegle wyświetlamy użytkownikom strumień wizyjno-foniczny lektora oraz sterowaną przez lektora prezentację PPT? wymagana synchronizacja. Co z użytkownikami, którzy maja niską przepustowość łącza? przekodowanie strumienia do mniejszych przepływności, równoległa transmisja strumieni o różnych przepływnościach.

Jakie kodeki i formaty Powinny być dopasowane do urządzenia/systemu operacyjnego. zczególnie, jeżeli zależy nam na dostępności platformy na urządzeniach mobilnych. Np. io Pełne wsparcie dla formatu H.264, AAC, Mp3 Natywnie wspierany protokół transmisji HL (HTTP live streaming) Wykorzystanie natywnych komponentów do odtwarzania strumienia foniczno-wizyjnego znacznie obniża zużycie baterii

H.264/MPEG-4 Part 10 - AVC Czy i jaki poziom i profil? Dekodowanie nie jest kosztowne obliczeniowo. MPEGLA licencja

TCP vs UDP Protokoły bazujące na UDP (User Datagram Protocol) mają znaczną przewagę nad protokołami bazującymi na TCP (Transmission Control Protocol): Większa skuteczność dostarczania mediów strumieniowych na żywo, Mniejsze opóźnienia, Zwiększona jakość dźwięku i mowy, Większa niezawodność połączenia. O tym jeszcze będzie mowa na dalszych wykładach.

Cel? Dostarczenie strumienia od osoby publikującej (publisher) do osoby oglądającej (subscriber). P Gdańsk Gdańsk ingapur P Klient publikujący strumień Klient subskrybujący strumień Kierunek transmisji danych multimedialnych

Publikowanie poprzez serwer do kilku odbiorców Publikujący Wymagane odpowiednie łącze do serwera (up) Odbierający: Wymagane odpowiednie łącze z serwera (down) P Media erver Osoby siedzące przy jednym biurku komunikują się poprzez serwer. Dane multimedialne są transmitowane poprzez serwer.

Publikowanie poprzez serwer do wielu odbiorców Publikujący Wymagane odpowiednie łącze do serwera (up) Odbierający: Wymagane odpowiednie łącze z serwera (down) Osoby siedzące przy jednym biurku komunikują się poprzez serwer. erwer wymaga dostępu do sieci o znaczącej przepustowości (down). Wysyłanie 1 ramki danych od publishera wymaga 1 x COUNT zapisów na socket. P Media erver v

A co jeśli jest tak? v v Co z pasmem dostępnym na serwerze? Co ze złożonością obliczeniową? Dla protokołu bazującego na TCP, chwilowe zaburzenie w działaniu sieci w której znajduje się serwer (spadek wydajności, wysycenie łącza), może spowodować lawinowy wzrost opóźnień w transmitowanym sygnale ze względu na konieczność retransmisji ramek (wymaganie na przepustowość sieci zostaje dodatkowo, chwilowo zwiększone).

Transmisja poprzez serwer duża skala Konfiguracja ORIGIN-EDGE P Gdańsk Media erver ORIGIN an Francisco Media erver EDGE ydney Media erver EDGE v v

Transmisja poprzez serwer duża skala Dołączanie subskrybentów ingapur Gdańsk Media erver ORIGIN P an Francisco Media erver EDGE ydney Media erver EDGE v v

Transmisja poprzez serwer duża skala Dołączanie serwera Media erver EDGE ingapur v Gdańsk Media erver ORIGIN P an Francisco Media erver EDGE ydney Media erver EDGE v v

Publikowanie p2p - do kilku oglądających Publikujący Wymagane odpowiednie łącze: PREQ_BW = PTREAM_RATE X COUNT Odbierający: Wymagane odpowiednie pasmo do publikującego Potrzebny serwer rendezvous (RV) Dostarcza stabilnych adresów IP wymaganych do transmisji danych multimedialnych od P do (pulling from P). Minimalizacja opóźnienia Większe wymagania na łącze publikującego (up) Z tego względu nie jest to rozwiązanie dowolnie skalowalne Większe wymagania na widoczność w sieci P RV erver

Publikowanie do wielu oglądających - z wykorzystaniem grup Publikujący Wymagane odpowiednie łącze. Kontrolowana liczba połączeń wychodzących. Odbierający: P Wymagane odpowiednie pasmo do publikującego, lub do sąsiada (sąsiadów) w zależności od przyjętego kryterium optymalizacji ruchu wewnątrz grupy. Minimalizacja opóźnienia. Zaawansowane algorytmy optymalizacji połączeń. terowanie czasem dostępności poszczególnych pakietów wewnątrz sieci (grupy). RV erver ` Wszyscy są podłączeni do tego serwera RV.

Transmisja z wykorzystaniem struktury połączonych grup duża skala Kilka licznych grup. Jeżeli klient należy do dwóch grup, to te grupy tworzą jedną grupę. Wykorzystany serwer streamingowy do przekazywania strumieni pomiędzy grupami. P v Media erver RV erver ` Wszyscy są podłączeni do tego serwera RV. Niewielkie wymagania na łącze w serwerowni. Optymalizacja transmisji wewnątrz sieci (np. korporacyjnej). komplikowane zarządzanie.

Wiele konfiguracji łącznie realna sytuacja v Gdańsk P Media erver ORIGIN ydney Media erver EDGE RV erver ` Wszyscy są podłączeni do tego serwera RV. v

Oprogramowanie Adobe Media erver Nginx rtmp-module Red5 Wowza Media erver I wiele innych open source i komercyjnych

Przykład konfiguracji do transmisji strumieniowej (1) Konfiguracja z kilkoma grupami serwerów źródłowych i kilkoma koderami. Zapasowy serwer źródłowy jest dostępny tylko dla kodera 1 i 2. erwer brzegowy zna lokalizacje wszystkich serwerów głównych. Użytkownicy końcowi łączą się do serwera brzegowego.

Przykład konfiguracji do transmisji strumieniowej (2) Konfiguracja z opcjonalnym węzłem pośredniczącym. erwer brzegowy interpretuje główny serwer źródłowy i zapasowy serwer źródłowy jako ten sam serwer. (W konfiguracji ma zapisane tylko lokalizację serwera pośredniczącego.

Typy węzłów (1) erwer źródłowy Aplikacja odbiera strumień wideo od nadawcy i dystrybuuje do wielu serwerów pośredniczących Ma możliwość akceptowania połączeń od nadawców. Przetrzymuje listę wszystkich nadawców. Akceptuje połączenie od serwerów pośredniczących i powiadamia te serwery o podłączeniu/rozłączeniu nadawcy. Akceptuje komendę play od serwera pośredniczącego i dystrybuuje dane do węzłów pośredniczących.

Typy węzłów (2) erwer pośredniczący Aplikacja serwerowa odbiera strumień wideo z serwera źródłowego i przekazuje dane do wielu serwerów brzegowych. Czyta adresy IP serwerów źródłowych z pliku konfiguracyjnego Łączy się do wszystkich serwerów źródłowych, których adresy są zawarte w pliku konfiguracyjnym i dba o ponowne połączenie w przypadku rozłączenia. Odbiera notyfikacje z serwerów źródłowych i przetrzymuje listą nadawców dla każdego serwera źródłowego

Typy węzłów (2) erwer brzegowy Aplikacja serwerowa odbiera żądania połączenia od klientów i przekazuje dane z serwerów pośredniczących do klientów. Czyta adresy IP serwerów źródłowych z pliku konfiguracyjnego Łączy się do wszystkich serwerów pośredniczących, których adresy są zawarte w pliku konfiguracyjnym i dba o ponowne połączenie w przypadku rozłączenia. Odbiera notyfikacje z serwerów pośredniczących i przetrzymuje listą nadawców dla każdego serwera pośredniczącego Wysyła komendę play i odbiera dane od serwerów pośredniczących.

Dziękuję za uwagę.