• Nenhum resultado encontrado

Aplicações Multimídia e Protocolos de Streaming

N/A
N/A
Protected

Academic year: 2022

Share "Aplicações Multimídia e Protocolos de Streaming"

Copied!
31
0
0

Texto

(1)

1

Redes de Computadores II

Aplicações Multimídia e Protocolos de Streaming

Profa. Débora Christina Muchaluat Saade

debora@midiacom.uff.br

Departamento de Ciência da Computação - UFF

(2)

Redes de Computadores II

Aplicações Multimídia e Protocolos de Streaming

Aplicações Multimídia

•  Requisitos

Limitações da Internet Atual

Controle da Apresentação de Mídia Contínua Armazenada

•  Procotolo RTSP

Usando o serviço de melhor esforço

•  Compensação da variação do retardo

Protocolos de Streaming

•  Protocolos RTP e RTCP

Referência:

•  Capítulo 6 (Kurose, Redes de Computadores e a Internet)

(3)

24

Redes de Computadores II

Aplicações interativas em tempo-real

Exemplo:

• 

Telefonia IP

(4)

Redes de Computadores II

Telefonia Internet sobre melhor-esforço

Serviço de Melhor esforço

Acarreta atraso de pacotes, perdas e variação de retardo (jitter) Exemplo de telefone Internet

As aplicações de telefonia na Internet geram pacotes durante momentos de atividade da voz

•  Rajadas de voz alternadas com períodos de silêncio

taxa de bits é 64 kbps nos intervalos de atividade (G.711)

durante os intervalos de atividade a aplicação produz um bloco de 160 bytes a cada 20 ms (8 kbytes/s x 20 ms)

cabeçalho é acrescentado ao bloco; então bloco mais cabeçalho são encapsulados num pacote UDP e enviados

alguns pacotes podem ser perdidos e o retardo de um pacote irá flutuar.

receptor deve determinar quando reproduzir um bloco e

(5)

26

Redes de Computadores II

Telefonia Internet sobre melhor-esforço

perda de pacotes

O segmento UDP é encapsulado num datagrama IP

datagrama pode ser descartado por falta de espaço num roteador

TCP pode eliminar perdas, mas

• 

retransmissões aumentam o atraso

• 

O controle de congestionamento do TCP limita a taxa de transmissão

Taxas de perda entre 1 e 20% podem ser toleradas

Pacotes redundantes podem ajudar

• 

Mecanismos de FEC (forward error control) ajudam a ocultar

as perdas

(6)

Redes de Computadores II

Telefonia Internet sobre melhor-esforço

retardo fim-a-fim

acúmulo dos retardos de transmissão, propagação, atrasos nas filas dos roteadores e retardos de processamento nos sistemas finais

mais que 400 ms de retardo fim-a-fim compromete a interatividade; quanto menor o retardo melhor

• 

Normalmente o receptor descarta pacotes com retardo maior

que um patamar

(7)

28

Redes de Computadores II

Telefonia Internet sobre melhor-esforço

variação de atraso (jitter)

Retardo nas filas dos roteadores é aleatório

considere dois pacotes consecutivos num intervalo de atividade

Os retardos fim-a-fim desses dois pacotes podem ser diferentes

espaçamento inicial é de 20 ms, mas o espaçamento no receptor pode ser maior ou menor que 20 ms

o jitter pode ser removido:

Precedendo cada bloco com um número de seqüência

•  transmissor incrementa esse número para cada novo pacote

Precedendo cada bloco com uma marca de tempo

•  transmissor marca cada bloco com o tempo em que foi gerado

Atrasando a reprodução

•  O atraso na reprodução deve ser suficiente para que a maioria dos pacotes seja recebida antes do seu tempo de reprodução programado

–  Atraso de reprodução fixo ou adaptativo

(8)

Redes de Computadores II

Atraso de Reprodução Fixo

Receptor tenta reproduzir cada bloco exatamente q ms depois que o bloco é gerado.

• 

Se o bloco tem marca de tempo t, receptor usa o bloco no instante t+q .

• 

Se o bloco chega após o instante t+q, receptor o descarta.

Escolha do valor de q:

• 

q grande: menos perda de pacotes

• 

q pequeno: melhor controle da interatividade

(9)

30

Redes de Computadores II

Atraso de Reprodução Fixo

Transmissor gera pacotes a cada 20 ms durante os intervalos de atividade.

Primeiro pacote é recebido no instante r

Primeira programação de reprodução: começa em p

Segunda programação de reprodução: começa em p

packets

time packets

generated

packets received

loss

r

p p'

playout schedule p - r

playout schedule p' - r pacotes

gerados

pacotes recebidos

perda

progr. reprodução Retardo de (p – r) progr. reprodução

Retardo de (p – r) tempo pacotes

(10)

Redes de Computadores II

Atraso de Reprodução Adaptativo

pacote ésimo

- o receber após

rede na

atraso do

estimativa

pacote ésimo

- o para rede

da atraso

receptor no

o reproduzid é

pacote o

qual no

instante

receptor pelo

recebido é

pacote o

qual no

instante

pacote ésimo

do tempo de

marca

i d

i t

r

i p

i r

i t

i i i

i i i

=

=

=

=

=

•  para serviços com interatividade, atrasos fixos longos podem se tornar incômodos ou intoleráveis

• Estima o retardo da rede e ajusta o retardo de reprodução no início de cada intervalo de atividade.

•  Intervalos de silêncio são comprimidos e alongados.

•  Blocos ainda são gerados a cada 20 ms nos intervalos de atividade.

Estimativa dinâmica do retardo médio no receptor:

) (

) 1

( i 1 i i

i u d u r t

d = +

onde u é uma constante fixa (ex., u = 0,01).

(11)

32

Redes de Computadores II

É também usual estimar a variância média do atraso, vi :

|

| )

1

(

i 1 i i i

i

u v u r t d

v = −

+ − −

As estimativas de di e vi são calculadas para cada pacote recebido, embora elas sejam usadas apenas no início de um intervalo de atividade.

Para o primeiro pacote de um intervalo de atividade, o instante de reprodução é:

i i

i

i

t d Kv

p = + +

onde K é uma constante positiva. Para este mesmo pacote, o retardo de reprodução é:

i i

i

p t

q = −

Para o pacote j no mesmo intervalo de atividade, o pacote deve ser reproduzido em:

i j

j

t q

p = +

Atraso de Reprodução Adaptativo

(12)

Redes de Computadores II

Como saber se um pacote é o primeiro de um intervalo de atividade:

Se nunca houvesse perdas o receptor poderia simplesmente olhar nas marcas de tempo sucessivas.

• 

Se a diferença de marcas de tempo sucessivas for maior que 20 ms, então temos o início de um intervalo de atividade.

Mas porque as perdas são possíveis, o receptor deve olhar tanto as marcas de tempo como os números de sequência dos pacotes.

• 

Se a diferença de marcas de tempo sucessivas for maior que 20 ms e não há pulos nos números de sequência então tem- se o início de um intervalo de atividade.

Atraso de Reprodução Adaptativo

(13)

34

Redes de Computadores II

Recuperação de Perdas de Pacotes

Perdas: pacote nunca chega ou chega depois do seu tempo de reprodução programado

Correção por FEC ou intercalamento

Forward error correction (FEC): esquema simples

para cada grupo de n blocos, cria um bloco redundante realizando uma operação OU exclusivo (XOR) entre os n blocos originais

envia os n+1 blocos, aumentando a banda passante por um fator de 1/n.

pode reconstruir os n blocos originais se houver no máximo um bloco perdido nos n+1 blocos enviados

retardo de reprodução precisa ser definido para receber todos os n+1 pacotes

Compromisso:

•  aumentar n, menor desperdício de banda

•  aumentar n, maior retardo de reprodução

•  aumentar n, maior a probabilidade que dois ou mais blocos sejam perdidos

(14)

Redes de Computadores II

Operação XOR (n=2)

Transmissão:

1o. Pacote: 1 0 1

2o. Pacote: 1 0 0

Pacote 1 XOR Pacote 2

Pacote FEC: 0 0 1

Recepção:

1o. Pacote: 1 0 1

2o. Pacote: PERDIDO

Pacote FEC: 0 0 1

Corrige o erro:

Pacote 1 XOR Pacote FEC: 1 0 0

2o. Pacote: 1 0 0

(15)

36

Redes de Computadores II

2o. esquema FEC

•  enviar um fluxo de menor qualidade como carona

•  envia fluxo de aúdio de menor resolução como a informação redundante

•  por exemplo, um fluxo PCM nominal a 64 kbps e um fluxo redundante a 13 kbps.

•  Transmissor cria pacote tomando o bloco n do fluxo nominal e anexando a ele o bloco (n-1) do fluxo redundante.

Recuperação de Perdas de Pacotes

(16)

Redes de Computadores II

Recuperação de Perdas de Pacotes

Fluxo original

Redundância

Perda de Pacote

Fluxo reconstruído

• Sempre que ocorre perda não-consecutiva, o receptor pode esconder a perda.

• Apenas dois pacotes precisam ser recebidos antes do início da reprodução (aumento no retardo de reprodução é pequeno)

• Pode também anexar os blocos (n-1) e (n-2) do fluxo de baixa qualidade

(17)

38

Redes de Computadores II

Intercalamento

blocos são quebrados em unidades menores

por exemplo, 4 blocos de 5 ms cada

intercalar os blocos como mostrado no diagrama

pacote agora contém unidades menores de diferentes blocos

Remontar os blocos no receptor

Se o pacote é perdido, ainda resta mais de cada bloco

Vantagem: não aumenta a largura de banda!!

Recuperação de Perdas de Pacotes

Fluxo original

Fluxo intercalado

Perda de pacote

Fluxo reconstruído

(18)

Redes de Computadores II

Recuperação pelo receptor de fluxos de aúdio danificados

produzir um substituto para um pacote perdido que seja similar ao pacote original

pode produzir bons resultados para baixas taxas de perdas (< 15%) e pacotes pequenos (4-40 ms) (fonema dura de 5 a 100ms)

estratégia mais simples: repetição

estratégia mais complexa: interpolação

• 

Resultado melhor

• 

Mais processamento

Recuperação de Perdas de Pacotes

(19)

40

Redes de Computadores II

Real-Time Protocol (RTP)

RTP especifica uma

estrutura de pacotes que transportam dados de

aúdio e vídeo: RFC 1889.

pacote RTP oferece

• 

identificação do tipo de carga

• 

numeração da sequência de pacotes

• 

marcas de tempo

RTP roda nos sistemas terminais.

os pacotes RTP são encapsulados em segmentos UDP

Interoperabilidade: se duas aplicações de

telefonia IP usam RTP,

então elas podem ser

capazes de trabalhar

juntas

(20)

Redes de Computadores II

RTP roda em cima do UDP

As bibliotecas do RTP fornecem uma interface que estende o UDP:

•  número de portas, endereços IP

•  identificação do tipo de carga

•  numeração da sequência de pacotes

•  marcas de tempo

Aplicação

Enlace Física camada de

transporte

RTP é um protocolo de aplicação

Alguns autores o colocam como subcamada de transporte

(21)

42

Redes de Computadores II

RTP: Exemplo

Considere enviar 64 kbps de voz codificada em

PCM sobre RTP.

A aplicação reúne dados codificados em blocos, por exemplo, a cada 20 ms = 160 bytes por bloco.

O bloco de aúdio, junto com o cabeçalho RTP forma o pacote RTP, que é encapsulado num

segmento UDP.

O cabeçalho RTP indica o tipo de codificação de

aúdio em cada pacote, os transmissores podem

mudar a codificação

durante a conferência. O

cabeçalho RTP também

contém os números de

sequência e marcas de

tempo.

(22)

Redes de Computadores II

RTP e QoS

RTP não fornece nenhum mecanismo para assegurar a entrega dos pacotes e dados no tempo correto, nem fornece outras garantias de qualidade de serviço.

O encapsulamento RTP é visto apenas nos sistemas finais -- ele não é percebido pelos roteadores intermediários.

•  Roteadores fornecem o serviço de melhor-esforço tradicional da Internet. Eles não fazem nenhum esforço especial para assegurar que os pacotes RTP cheguem no destino no

A fim de fornecer QoS para uma aplicação, a Internet deve prover um mecanismo, tal como o RSVP, para que a

aplicação possa reservar

recursos da rede.

(23)

44

Redes de Computadores II

Fluxos RTP

RTP permite atribuir a cada fonte (por exemplo, uma câmera ou um

microfone) o seu próprio fluxo de pacotes RTP

independente.

•  Por exemplo, para uma videoconferência entre dois participantes, quatro fluxos RTP poderiam ser abertos:

dois fluxos para transmitir o aúdio (um em cada

direção) e dois fluxos para o vídeo (novamente, um em cada direção).

Contudo, algumas técnicas de codificação, p.e. MPEG1 e MPEG2, reúnem o aúdio e o

vídeo num único fluxo durante o processo de codificação. Quando o aúdio e o vídeo são reunidos pelo codificador, então apenas um fluxo RTP é gerado em cada direção.

Para uma sessão multicast do

tipo muitos-para-muitos, todos os transmissores e receptores

tipicamente enviam seus fluxos RTP na mesma árvore de

multicast com o mesmo endereço de multicast.

(24)

Redes de Computadores II

Cabeçalho RTP

Tipo de Carga (7 bits): Usado para indicar o tipo de codificação que está sendo usado no momento.

Se um transmissor muda o tipo de codificação durante uma conferência, o transmissor informa o receptor através deste campo de tipo de carga.

• Tipo de carga 0: PCM mu-law, 64 Kbps

• Tipo de carga 7, LPC, 2.4 Kbps

• Tipo de carga 9, G.722, 48-64 Kbps

• Tipo de carga 14, MPEG1 áudio

• Tipo de carga 26, Motion JPEG

• Tipo de carga 31. H.261

• Tipo de carga 32, MPEG1 vídeo

• Tipo de carga 33, MPEG2 vídeo

Número de Sequência (16 bits): O número de sequência é incrementado de um a cada pacote RTP enviado; pode ser usado para detectar perdas de pacotes e ocultar os dados

Tipo de Carga Número de

Sequência Marca de tempo Identificador

sincronismo fonte campos de miscelânias Cabeçalho RTP

(25)

46

Redes de Computadores II

Campo de marca de tempo (32 bits). Reflete o instante de

amostragem do primeiro byte no pacote de dados RTP. O receptor pode usar esta marca de tempo para remover o jitter do pacote e para obter o sincronismo de reprodução. A marca de tempo é derivada do relógio de amostragem no transmissor.

•  Como exemplo, para aúdio o relógio de marca de tempo incrementa de um a cada intervalo de amostragem (por exemplo, cada 125 microsseg para uma taxa de amostragem de 8 KHz); se a aplicação de aúdio gera blocos contendo 160 amostras codificadas, então a marca de tempo do RTP aumenta de 160 para cada pacote RTP quando a fonte está ativa. O relógio de marca de tempo continua a aumentar numa taxa constante mesmo quando a fonte está inativa.

campo SSRC (identificador de sincronismo fonte) (32 bits).

Identifica a fonte do fluxo RTP. Cada fluxo numa sessão RTP deve ter um SSRC distinto (atribuído aleatoriamente pela fonte). (serve para multiplexar vários fluxos de mídia em um único fluxo UDP)

Cabeçalho RTP

(26)

Redes de Computadores II

Real-Time Control Protocol (RTCP)

Trabalha em conjunto com o RTP.

Cada participante de uma sessão RTP transmite

periodicamente pacotes de controle RTCP para todos os outros participantes. Cada pacote RTCP contém

relatórios do transmissor e/ou do receptor que são úteis para a aplicação.

As estatísticas incluem o

número de pacotes enviados, número de pacotes perdidos, variação de retardo entre chegadas, etc.

Esta informação de realimentação para a

aplicação pode ser usada para controle do

desempenho e para fins de diagnóstico.

• 

O transmissor pode

mudar suas transmissões com base nestas

informações de

realimentação.

(27)

48

Redes de Computadores II

RTCP - Continuação

- Para uma sessão RTP existe tipicamente um único endereço multicast, todos os pacotes RTP e RTCP pertencentes à sessão usam este endereço multicast.

- Os pacotes RTP e RTCP são distintos uns dos outros pelo uso de números de portas diferentes.

- Para limitar o tráfego, cada participante reduz seu tráfego RTCP quando o número de participantes da conferência aumenta.

(28)

Redes de Computadores II

Pacotes RTCP

Pacotes de relatório do receptor:

fração de pacotes perdidos, último número de sequência, variância média do atraso entre chegadas.

Pacotes de relatório do transmissor:

SSRC do fluxo RTP, marca de tempo e o tempo corrente real do pacote mais recente, o

número de pacotes enviados e o número de bytes enviados.

Pacotes de descrição da fonte:

endereço de e-mail do transmissor, o nome do transmissor, o SSRC do fluxo RTP associado.

Esses pacotes fornecem um mapeamento entre o SSRC e o nome do

usuário ou do host.

(29)

50

Redes de Computadores II

Sincronização de Fluxos

RTCP (relatórios dos

remetentes) pode ser usado para sincronizar diferentes fluxos de mídia numa sessão RTP.

Considere uma aplicação de videoconferência para a qual cada transmissor gera um fluxo RTP para aúdio e um para vídeo.

As marcas de tempo nestes pacotes são vinculadas aos relógios de amostragem de vídeo e de aúdio, mas não são vinculadas a um relógio de

tempo real (isto é, a um relógio de parede).

Cada pacote relatório-do- transmissor RTCP contém para o último pacote gerado no fluxo RTP associado, a marca de tempo do pacote

RTP e o instante de tempo real no qual o pacote foi criado.

Desta forma o pacote RTCP relatório-do-transmissor

associa o relógio de

amostragem com o relógio de tempo real.

Receptores podem usar esta associação para sincronizar a reprodução de aúdio e de

vídeo.

(30)

Redes de Computadores II

Controle de Banda do RTCP

O RTCP procura limitar seu tráfego a 5% da banda

passante da sessão.

Por exemplo, suponha que existe um transmissor

enviando vídeo com uma taxa de 2 Mbps. Então o RTCP procura limitar seu tráfego a 100 Kbps.

O protocolo dá 75% desta taxa, ou 75 kbps, para os receptores; ele dá os 25%

restantes da taxa, isto é, 25 kbps, para o transmissor.

Os 75 kbps dedicados aos

receptores são divididos de forma igual entre todos os receptores.

Assim, se existem R receptores, cada receptor consegue enviar tráfego RTCP a uma taxa de 75/R kbps e o transmissor envia

tráfego RTCP a uma taxa de 25 kbps.

Um participante (um transmissor ou receptor) determina o período de transmissão de pacotes RTCP dinamicamente calculando o

tamanho médio do pacote (durante toda a sessão) e

dividindo o tamanho médio do pacote RTCP pela sua taxa alocada.

(31)

52

Redes de Computadores II

Controle de Banda do RTCP

Período para transmitir pacotes RTCP:

Transmissor:

• 

T = (no. de transmissores / (0,25 x 0,05 x largura de banda da sessão)) x (tamanho médio do pacote RTCP)

Receptor:

• 

T = (no. de receptores / (0,75 x 0,05 x largura de banda da

sessão)) x (tamanho médio do pacote RTCP)

Referências

Documentos relacionados

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

In December 2019, a new human coronavirus, called severe acute respiratory syndrome coronavirus 2 (SARS‑CoV‑2) or coronavirus disease 2019 (COVID‑19) by the World Health

da quem praticasse tais assaltos às igrejas e mosteiros ou outros bens da Igreja, 29 medida que foi igualmente ineficaz, como decorre das deliberações tomadas por D. João I, quan-

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

O plano de “culturalização” da marca junto à equipe de vendas é feito inicialmente através da seleção dos colaboradores, que está detalhadamente especificada no Manual

62 uso de uma via metabólica alternativa por Biomphalaria tenagophila e B. glabrata expostas a 20, 40,  60, 80 e 100 mg/L de CaCO

age o&amp; Va&amp;òaZuÁ convexuò and PO&amp;ÁOIUA tati^fwnó ^emaleA, Qiving fieAolÁM compa/iablz to otheA òtudieA and indlo.atA.nQ tke, vahxe, o{ tkeAe... One egg is produced and