Transmisja multimediów w sieciach IP. Obraz i dźwięk.
1. Transmisja
mul,mediów
w
sieciach
IP.
Obraz
i
dźwięk.
Łukasz
Kosikowski
Koordynator
Zespołu
Systemów
Mul,medialnych.
Implix
Sp.
z
o.
o.
2. Wstęp
– 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.
3. Tor
komunikacyjny
AC
Kodowanie
-‐ obraz
-‐ dźwięk
Transmisja
Dekodowanie
-‐ obraz
-‐ dźwięk
• Jakie
opóźnienie
wprowadza
kodowanie
i
dekodowanie
(coder/decoder
=
codec)?
• Jakie
opóźnienie
wprowadza
transmisja?
CA
4. Dźwięk
czy
obraz…?
• Co
jest
ważniejsze,
z
punktu
widzenia
użytkowników
systemu,
– dźwięk,
– czy
obraz?
5. Rozmowa
czy
monolog…?
Wymagania
zmieniają
się
w
zależności
od
sposobu
wykorzystania
systemu…
• Rozmowa
dwóch
osób
– Dopuszczalne,
maksymalne
opóźnienie
150
ms.
• Spotkanie
wielu
osób
N:N
– 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).
6. 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.
7. H.264/MPEG-‐4
Part
10
-‐
AVC
•
•
•
•
Czy
i
jaki
poziom
i
profil…?
Dekodowanie
tanie
obliczeniowo.
MPEGLA
licencja
Czym
zaskoczy
H.265?
8. TCP
vs
UDP
TCP
UDP
Nagłówek
20B
Nagłówek
8B
Połączeniowy
Bezpołączeniowy
Mechanizm
retransmisji
i
kontroli
przepływu
• Większe
opóźnienia
• Brak
strat
• Zachowanie
sekwencyjności
Brak
mechanizmu
retransmisji
i
kontroli
przepływu
• Mniejsze
opóźnienia
• Straty
Zaburzenia
sekwencyjności
9. TCP
vs
UDP
-‐
opóźnienia
TCP
UDP
Mechanizmy
kontroli
transmisji
wymuszają
retransmisję
utraconych
pakietów
i
mogą
ograniczać
pasmo
Niewielki
nakład
pracy
w
urządzeniach
pośredniczących
Transmisja
sesyjna
–
urządzenia
pośredniczące
Przekazywanie
pakietów
w
sieci
odbywa
się
w
utrzymują
maszynę
stanu
dla
każdego
sposób
bez
sesyjny
(bezstanowy)
połączenia
Znaczne
opóźnienia
Niewielkie
opóźnienia
10. TCP
vs
UDP
–
utrata
pakietów
TCP
UDP
Transmisja
z
potwierdzeniami
–
kolejny
pakiet
jest
wysyłany
dopiero
po
potwierdzeniu
odbioru
poprzedniego
Każdy
pakiet
wysyłany
jest
tylko
1
raz
Transmisja
jest
ponawiana
w
przypadku
braku
Transmisja
bez
potwierdzeń
potwierdzenia
w
określonym
czasie
–
protokół
zapewnia
niezawodność
(reliability)
Przewlekłe
utraty
pakietów
prowadzą
do
zerwania
sesji
Uszkodzenie
fragmentu
sieci
lub
tłok
(conges,on)
w
urządzeniu
pośredniczącym
prowadzą
do
utraty
pakietu
11. Cel?
• Dostarczenie
strumienia
od
osoby
publikującej
(publisher)
do
osoby
oglądającej
(subscriber).
P
S
P
Klient
publikujący
strumień
S
Klient
subskrybujący
strumień
Kierunek
transmisji
danych
mul,medialnych
12. Publikowanie
poprzez
serwer
–
do
kilku
odbiorców
• Publikujący
P
– Wymagane
odpowiednie
łącze
do
serwera
(up)
• Odbierający:
AUTH
Media
Server
– Wymagane
odpowiednie
łącze
z
serwera
(down)
• Osoby
siedzące
przy
jednym
biurku
komunikują
się
poprzez
serwer.
• Dane
mul,medialne
są
transmitowane
poprzez
serwer.
S
S
13. Publikowanie
poprzez
serwer
–
do
wielu
odbiorców
• Publikujący
P
– Wymagane
odpowiednie
łącze
do
serwera
(up)
• Odbierający:
AUTH
Media
Server
– Wymagane
odpowiednie
łącze
z
serwera
(down)
• Osoby
siedzące
przy
jednym
biurku
komunikują
się
przez
serwer.
• Serwer
wymaga
dostępu
do
sieci
o
znaczącej
przepustowości.
S
S
S
S
14. 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).
15. Transmisja
poprzez
serwer
–
duża
skala
• Konfiguracja
ORIGIN-‐EDGE
P
Gdańsk
AUTH
Media
Server
ORIGIN
S
San
Francisco
AUTH
S
S
S
Sydney
Media
Server
EDGE
S
S
Media
Server
EDGE
S
S
S
S
AUTH
S
16. Transmisja
poprzez
serwer
–
duża
skala
• Dołączanie
subskrybentów
Singapur
P
AUTH
Gdańsk
S
Media
Server
ORIGIN
S
S
S
San
Francisco
AUTH
S
S
S
Sydney
Media
Server
EDGE
S
S
Media
Server
EDGE
S
S
S
S
AUTH
S
17. Transmisja
poprzez
serwer
–
duża
skala
• Dołączanie
serwera
Media
Server
EDGE
AUTH
Singapur
P
AUTH
Gdańsk
Media
Server
ORIGIN
S
S
S
S
S
San
Francisco
AUTH
S
S
S
Sydney
Media
Server
EDGE
S
S
Media
Server
EDGE
S
S
S
S
AUTH
S
18. Publikowanie
p2p
-‐
do
kilku
oglądających
AUTH
• Publikujący
– Wymagane
odpowiednie
łącze:
PREQ_BW
=
PSTREAM_RATE
X
SCOUNT
• Odbierający:
RV
Server
P
– Wymagane
odpowiednie
pasmo
do
publikującego
S
• Potrzebny
serwer
rendezvous
(RVS)
– Dostarcza
stabilnych
adresów
IP
wymaganych
do
transmisji
danych
mul,medialnych
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
19. Publikowanie
do
wielu
oglądających
-‐
z
wykorzystaniem
grup
S
• 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ń.
• Sterowanie
czasem
dostępności
poszczególnych
pakietów
wewnątrz
sieci
(grupy).
S
S
S
S
S
S
S
S
RV
Server
Wszyscy
są
podłączeni
do
tego
serwera
RVS.
20. 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
S
S
S
S
S
P
AUTH
•
RV
Server
S
S
S
S
S
S
S
S
S
Media
Server
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.
21. Wiele
konfiguracji
łącznie
–
realna
sytuacja
S
S
AUTH
S
S
P
S
S
S
Gdańsk
S
Media
Server
ORIGIN
S
S
S
S
S
S
S
S
S
S
S
S
S
Sydney
Media
Server
EDGE
AUTH
RV
Server
Wszyscy
są
podłączeni
do
tego
serwera
RVS.
S
S
S
S