• Nie Znaleziono Wyników

Systemy konferencyjne

N/A
N/A
Protected

Academic year: 2021

Share "Systemy konferencyjne"

Copied!
30
0
0

Pełen tekst

(1)

Systemy konferencyjne.

Transmisja multimediów w sieciach IP.

Obraz i dźwięk.

(2)

Systemy konferencyjne

• Konferencje telefoniczne (ang. Call

conferences)

• Konferencje internetowe (ang. Web

conferences)

(3)

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.

(4)

Tor komunikacyjny

wybrane elementy

• Jakie opóźnienie wprowadza kodowanie

i dekodowanie (coder/decoder = codec)?

• Jakie opóźnienie wprowadza transmisja?

AC Kodowanie Transmisja Dekodowanie CA

- obraz

(5)

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

(6)
(7)

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ć.

(8)

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.

• Spotkanie 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).

(9)

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.

(10)

Jakie kodeki i formaty…

• Powinny być dopasowane do urządzenia/systemu

operacyjnego.

• Szczególnie, jeżeli zależy nam na dostępności

platformy na urządzeniach mobilnych.

• Np. iOS

– Pełne wsparcie dla formatu H.264, AAC, Mp3

– Natywnie wspierany protokół transmisji HLS (HTTP live

streaming)

– Wykorzystanie natywnych komponentów do

odtwarzania strumienia foniczno-wizyjnego znacznie

obniża zużycie baterii

(11)

H.264/MPEG-4 Part 10 - AVC

• Czy i jaki poziom i profil…?

• Dekodowanie nie jest kosztowne

obliczeniowo.

(12)

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.

(13)

Cel?

• Dostarczenie strumienia od osoby publikującej

(publisher) do osoby oglądającej (subscriber).

S P

P S

Klient publikujący strumień

Klient subskrybujący strumień Kierunek transmisji

danych multimedialnych Gdańsk

Singapur Gdańsk

(14)

Publikowanie poprzez serwer

– do kilku 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.

• Dane multimedialne są

transmitowane poprzez serwer.

S S

P

Media Server

(15)

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.

• Serwer wymaga dostępu do sieci o znaczącej przepustowości (down). • Wysyłanie 1 ramki danych od

publishera wymaga 1 x SCOUNT zapisów

na socket. S S S S P Media Server v AUTH

(16)

A co jeśli jest tak…?

• 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).

v v

(17)

Transmisja poprzez serwer

– duża skala

• Konfiguracja ORIGIN-EDGE

S S S S P Media Server ORIGIN Media Server EDGE Media Server EDGE S S S S S S S v v Gdańsk

San Francisco Sydney

AUTH

(18)

Transmisja poprzez serwer

– duża skala

• Dołączanie subskrybentów

S S S S P Media Server ORIGIN Media Server EDGE Media Server EDGE S S S S S S S v v Gdańsk

San Francisco Sydney

S

S

S

Singapur AUTH

(19)

Transmisja poprzez serwer

– duża skala

• Dołączanie serwera

S S S S P Media Server ORIGIN Media Server EDGE Media Server EDGE S S S S S S S v v Gdańsk

San Francisco Sydney

Media Server EDGE S S S v S Singapur AUTH AUTH AUTH AUTH

(20)

Publikowanie p2p

- do kilku oglądających

• Publikujący

– Wymagane odpowiednie łącze: PREQ_BW = PSTREAM_RATE X SCOUNT

• Odbierający:

– Wymagane odpowiednie pasmo do publikującego • Potrzebny serwer rendezvous (RVS)

– Dostarcza stabilnych adresów IP wymaganych do transmisji danych multimedialnych od P do S (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

S S

P

RV Server

(21)

Publikowanie do wielu oglądających

- z wykorzystaniem grup

• Publikujący

– Wymagane odpowiednie łącze.

– Kontrolowana liczba połączeń wychodzących. • Odbierający:

– 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ń.

• Sterowanie czasem dostępności

poszczególnych pakietów wewnątrz sieci (grupy). S P S S S S S S S S RV Server `

(22)

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.

S P S S S S S S S S RV Server Media Server S S S S S S S S S

• Niewielkie wymagania na łącze w serwerowni.

• Optymalizacja transmisji wewnątrz sieci (np. korporacyjnej).

• Skomplikowane zarządzanie.

`

Wszyscy są podłączeni do tego serwera RVS.

v

(23)

Wiele konfiguracji łącznie

– realna sytuacja

S S S S S S S S S RV Server S S S S S S S S S ` v S S S S P Media Server ORIGIN Media Server EDGE S S S v Gdańsk Sydney AUTH AUTH

(24)

Oprogramowanie…

• Adobe Media Server

• Nginx rtmp-module

• Red5

• Wowza Media Server

(25)

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. • Serwer brzegowy zna lokalizacje wszystkich serwerów głównych. • Użytkownicy końcowi

łączą się do serwera brzegowego.

(26)

Przykład konfiguracji do transmisji

strumieniowej (2)

• Konfiguracja z opcjonalnym węzłem pośredniczącym.

• Serwer 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.

(27)

Typy węzłów (1)

• Serwer ź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.

(28)

Typy węzłów (2)

• Serwer 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

(29)

Typy węzłów (2)

• Serwer 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.

(30)

Cytaty

Powiązane dokumenty

Streszczenie: W referacie omówiona zostanie nietypowa droga pozyskiwania danych obrazowych za pomocą systemu agentowego i agenta który jest uruchomionym procesem przesyłanym

W związku z tym łączny czas wykonania przez jeden wątek zlecenia wymagającego operacji dyskowej wynosi 1*(8ms + 60ms) = 68ms, gdyż dopiero w 68ms po otrzymaniu takiego zlecenia

+ obsługa różnorodnych metody uwierzytelniania, + istnieje możliwość negocjacji używanej metody uwierzytelniania, + ponieważ urządzenie dostępowe może pracować w roli

Serwer DHCP świadczy usługę sieciową polegającą na przydziale adresów IP hostom, których konfiguracja wymaga otrzymania automatycznego adresu.. Hosty takie, w czasie startu

Do konfiguracji wykorzystuje się najczęściej wspomniane wcześniej pliki .htaccess - dzięki temu unika się restartowania serwera przy zmianie konfiguracji, ponadto

Każdy z klientów po wystartowaniu w niezależnym wątku tworzy gniazdo typu Socket znając port i nazwę hosta, na którym znajduje się serwer oraz tworzy

Regulaminy Usługi Promocji - w rozumieniu Regulaminu to inne niż Regulamin Organizatora regulaminy dotyczące Usługi Promocji, dostępne lub wskazane na

nych i tych, którzy się nimi opiekują. Rozdział piąty poświęcony jest ludziom głuchoniemym, a szósty - ludziom do­. tkniętym