A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Orientação de Carlos Antunes

Apresentações semelhantes


Apresentação em tema: "Orientação de Carlos Antunes"— Transcrição da apresentação:

1 Orientação de Carlos Antunes
Vídeo On-Demand Leiria, 21 de julho de 2014 Grupo constituído por Cátia Ledesma e Diogo Gomes Projeto de Video on-demand surgiu de uma auto-proposta, cujo intuito era de implementar uma solução de alta-disponibilidade em armazenamento que serviria de suporte a um sistema de distribuição e aquisição de video tambem em alta-disponibilidade. As soluções de Software usadas são todas Open-Source. PROJETO de Cátia Ledesma & Diogo Gomes REDE IP Orientação de Carlos Antunes

2 PROJETO VÍDEO ON-DEMAND
Introdução Estado da arte Tecnologias de suporte Tecnologias de distribuição Arquitetura Testador Demonstrador Resultados Conclusão Enquadramento estado da arte: tecnologias de suporte e de distribuição (open-source) Modelo em que vai assentar um projeto deste tipo Testador desenhado e respetiva implementação Testes efetuados e resultados obtidos Conclusoes finais

3 Introdução Crescimento da distribuição de recursos multimédia em larga escala sobre IP; Necessidades de fiabilidade dos serviços prestados; Necessidade de preservar os direitos de autor; Diversificados tipos de clientes e respetivos suportes utilizados (hardware e comunicações); 1- crescimento exponencial dos recursos e distribuição em larga escala sobre ip e aumento da concorrência trazem novas necessidades Tecnologias usadas: WebTV, IPTV, Vod, sites de dist multimédia 2- fiabilidade dos serviços pois as falhas podem trazer probl, p isso há necessidade de criar soluções de alta-disponibilidade As sol + eficazes assentam na dist computacional. A replicação e redundância permitem oferecer cont dos serviços e o balanceamento e agregação + performance 3- n esquecer q tem de se preservar direitos de autor, ex youtube 4- n menos import que prestar um bom serv é adaptá-loàs necessidades e req dos clientes, permitindo aceder através de clientes multimédia ou browser, c possibilidade de streaming adaptativo,multcast, vod

4 PROJETO Vídeo On-Demand
Estado da Arte – Tecnologias de Suporte – Alta Disponibilidade Points of failure: Falhas de hardware, software Sobrecarga de pedidos Mecanismos para Alta-Disponibilidade Replicação Redundância Balanceamento Agregação Disponibilidade = MTTF (MTTF + MTTR) Em termos de alta-disponibilidade realizou-se um estudo sobre o conceito Os pontos de falha podem acontecer a vários níveis: Em termos de hardware, podem haver falhar elétricas, de discos, ram e nos dispositivos de rede. Tambem podem haver falhas de software, sistema operativo, falta de espaço em disco, etc. Outra tipo de falha importante é a sobrecarga de pedidos em que estes podem ultrapassar a capacidade de resposta dos serviços Para eliminar os pontos de falha, existem vários mecanismos que podem ser usados. A replicação, em que os dados são espelhados por várias unidades de armazenamento separadas fisicamente. A redudância em que os mesmos serviços estão disponíveis em diversos locais separados fisicamente. O Balanceamento em que os pedidos são distribuidos de forma equilibrada pelos recursos. Desta forma pode-se prevenir sobrecarga de pedidos. O Balanceamento em alguns casos, requer que tambem exista replicação. A Agregação junta recursos distintos de forma a agregar as suas capacidades. A disponibilidade de um sistema é uma medida calculada pela divisao do tempo média entre falhas pela soma do tempo medio entre falhas com o tempo medio de reparação. Disponibilidade básica: indisponível 9h a 4dias /ano Alta disponibilidade: indisponível 5m a 1h /ano Disponibilidade contínua: indisponível 0m /ano

5 PROJETO Vídeo On-Demand
Estado da Arte – Tecnologias de Suporte - Conceitos de Cluster CLUSTERS ARQUITETURAS DE SINCRONISMO Scripts batch Agenda preemptiva/migrações Controlo minucioso ARQUITETURAS DE SISTEMA Armazenamento local sincronizado (todos com disco, rsync) Armazenamento local não sincronizado NFS root (armazenamento único partilhado em rede) PXE (ambiente de pré-execução, SO servidor por rede) Para implementar Alta-disponibilidade as soluções passam geralmente pela implantação de clusters Os clusters podem ser construidos segundo diversas arquiteturas. Em termos de rede, os clusters podem ser de node externo único, em que o cluster é acedido via NAT ou IP/virtual, Ou multi-node, em que todos os nodes podem ser acedidos de forma independente. Em termos de sistema, os clusters podem ter armazenamento local sincronizado, em que todos os nodes têm disco e o conteúdo está em sincronia. Podem ter armazenamento local não sincronizado, em que cada máquina tem dados independentes das restantes máquinas. Os clusters podem também ter um armazenamento único partilhado por rede ao qual todos os nodes acedem. Outra arquitetura muito usada em clusters é o ambiente de pre-execução PXE onde o Sistema Operativo dos nodes é fornecido por um servidor na rede. Em termos de processamento sincronizado, os clusters podem ter as tarefas distribuidas pelo cluster através de scripts, Ou podem usar um sistema que que faça migrações de processos preemptivamente pelos nodes do cluster. Ou podem usar software a correr em cada node em que o proprio software é que faz a distribuição das suas tarefas pelos nodes. ARQUITETURAS DE REDE Node externo único (NAT/ IP-virtual, balanceamento) Multinode / não dedicado (todos os nodes acessíveis)

6 PROJETO Vídeo On-Demand
Estado da Arte – Tecnologias de Suporte - Conceitos de Cluster Ambiente de Pré-Execução - PXE (Preload eXecution Environment) O ambiente PXE funciona da seguinte forma Cliente faz um Pedido DHCP com tags PXE Servidor DHCP oferece IP dinâmico e indicações PXE para o serviço TFTP Cliente faz pedido do ficheiro de boot ao servidor TFTP Servidor TFTP envia ficheiro ao cliente Cliente arranca o ficheiro de boot com a configuração do acesso a uma partilha em rede onde se encontram os restantes ficheiros necessários ao sistema Cliente faz um DHCP discover com tags PXE Servidor DHCP oferece IP dinâmico e indicações PXE para o serviço TFTP Cliente faz pedido do ficheiro de boot ao servidor TFTP Servidor TFTP envia ficheiro ao cliente Cliente arranca com o ficheiro de boot com a configuração do acesso a uma partilha em rede onde se encontram os restantes ficheiros necessários do sistema

7 Comunicações de cluster (messaging) Afiliação – Quorum – Ativo/Passivo
PROJETO Vídeo On-Demand Estado da Arte – Tecnologias de Suporte - Conceitos de Cluster Comunicações de cluster (messaging) Nos clusters é essencial haver um sistema que permita aos nodes comunicarem entre si para trabalharem como um todo. Para isso existe a Camada de comunicações do cluster Que Serve para troca de mensagens entre os nodes do cluster, Em que Cada node informa o estado dos seus recursos aos outros nodes para que o gestor de cluster possa eleger os nodes onde devem estar os serviços ativos Esta camada Tem geralmente Mecanismos de afiliação e de Quorum, em que A afiliação é composta por autenticação e encriptação e O Quorum é a Definição de quantidade de nodes necessários no cluster para tomada de decisões na colocação de serviços em nodes. O quorum é uma Espécie de sistema democrático onde têm de estar reunidas as condições necessárias ao sistema para que hajam eleições. O Corosync, por exemplo, implementa o "Totem single-ring ordering and membership protocol", um algoritmo de troca de mensagens em cluster, resultado de 20 anos de pesquisa na matéria. Afiliação – Quorum – Ativo/Passivo

8 Cluster de Armazenamento
PROJETO Vídeo On-Demand Estado da Arte – Tecnologias de Suporte - Conceitos de Cluster Cluster de Armazenamento Replicação de objetos Replicação de blocos Rsync GlusterFS Ceph DRBD OCFS2 GFS2 Para implementar alta-disponibilidade nos clusters de armazenamento, Existe a replicação de objetos (ficheiros) e replicação de blocos A replicação de ficheiros requer software de cliente e é independente do sistema de ficheiros instalado. A replicação é efetuada ficheiro a ficheiro, pelo que se for interrompida a meio de um ficheiro, tem de recomeçar todo o ficheiro. A replicação por blocos consiste na replicação bloco a bloco de forma identica ao RAID 1. Este tipo de replicação requer um sistema de ficheiros próprio mas não necessita de software cliente. Para efeitos de escalabilidade do armazenamento físico existe o LVM que permite agregar unidade fisicas em unidades logicas. Agregação de unidades físicas LVM

9 Estado da Arte – Tecnologias de Distribuição
Emissões Tipos Unicast, Multicast, Broadcast Protocolos TCP, UDP, RTP, RTSP, RTCP HTTP (HLS, Mpeg-Dash), RTMP Software Darwin, Flumotion, Helix, VLC, Ffserver 1- Existem 3 tipos de emissões: unicast (dedicado usado em video adaptativo), multicast ( p um grupo, vantagem diminuir a lb), broadcast (qdo na rede interna n há suporte p multicast) E várias tecnologias associadas: - vod ( é um sistema que permite ao utilizador selecionar e assistir vídeo on demand, tempo real) . O Batching serve para aproveitar emissões de VOD de vários utilizadores num mesmo stream. Por exemplo, um utilizador solícita a visualização de um vídeo em determinado momento e passado algum tempo, outro utilizador solícita a visualização do mesmo vídeo. Entao cont o multicast e envia em unicast do inicio p o 2º cliente, o cliente recebe a emissão e vai guardando em buffer os dados recebidos. Qdo o servidor termina o unicast (i.é já chegou ao ponto da transmissão multicast)o cliente continua a guardar em buffer a emissão do servidor, desta vez enviada em multicast. - iptv(necessita de dispositivos recetores ppos), webtv (acesso livre mas n garante qualidade),tvDigital (evolução da tv analógica), -P2p (usa software que procura noutros computadores conectados numa rede P2P e localiza o conteúdo desejado. Cada nó da rede  atua como fornecedor e consumidor de recursos, em contraste com o centralizado cliente-servidor) 2- protocolos: correm basicamente sobre udp como é o caso de rtp(usado em multimédia, pois define como deve ser feita a fragmentação do fluxo de dados, adicionando a cada fragmento informação de sequência e de tempo de entrega. Diferentes tipos de streaming são enviados em diferentes sessões de RTP mesmo que façam parte da mesma comunicação. rtsp (controlo remoto permitindo interatividade entre cliente/servidor e pode operar em conjunto com o RTP) http p aceder via browser para facilitar o acesso p parte dos clientes. Ultima/ foram desenvolvidas 2 novas tecnologias Hls (é um HTTP baseado em streaming que foi  implementado pela Apple) e Mpeg-dash (suportar mais codecs e os segmentos podem ser estruturados de forma contígua ou em ficheiros individuais) rtcp (A monitorização da qualidade desta forma os servidores podem baixar a qualidade da stream se for necessário) RTMP ( é utilizado em situações de streaming adaptativo e vai correr sobre TCP. O TCP vai ser responsável por receber feedback acerca da receção, o RTMP vai interpretar essa informação para com base nisso escolher qual o ficheiro/segmento a reproduzir. Se houver mais largura de banda será emitido um ficheiro/segmento com a máxima qualidade, caso contrário será emitido com uma qualidade inferior. Este protocolo é projetado para sessões unicast, em que cada cliente é tratado de forma individual.) 3- SW: as funcionalidades do sw open source são limitadas qdo comparadas c o q é pago. Destaque: Vlc e ffserver (tem + funcionalidades, suporta + formatos e protocolos, desenvolvimento continuado). OBS: quadro comparativo no relatório

10 Estado da Arte – Tecnologias de Distribuição
Há por vezes confusão entre conceito de codec e container. Codecs: algoritmos mat p codificar o vídeo e o audio de forma + eficiente. Há codecs com perdas lossless e sem perdas lossy. Padrões + conhecidos: mpeg, h, vp8,… + usado MPEG-4 AVC/H.264 (eliminação de redundância, qualidade na reprodução do vídeo, pretende ser o mais genérico possível, com compatibilidade numa vasta gama de aplicações, taxas, resoluções, qualidades e serviços) Containers: def formatos de integração de áudio e vídeo e funcionalidades a ser disponibilizadas nos conteúdos multimédia (legendas, idiomas, menus, …)

11 Arquitetura de Streaming
Blocos: A obtenção de dados é feita através de equipamento de reprodução em tempo real (webcam e câmaras). O tratamento de dados é responsável pelo encoding, compressão e inserção num container. Para a execução destas tarefas vai-se recorrer às funcionalidades dos softwares e a scripts personalizadas de forma a permitir situações específicas que não são suportadas pelos softwares existentes. Armazenamento:é responsável por armazenar os conteúdos multimédia num formato comprimido e reproduzi-los quando assim seja requerido pelo cliente Este acesso aos dados pressupõe a existência de balanceamento de carga e alta disponibilidade, havendo para isso, replicação da informação em vários servidores. Streaming : tem como função aceder aos conteúdos que forem solicitados e tem diferenças significativas de um servidor tradicional de base de dados porque tem que executar um número adicional de funções para lidar com a interactividade tais como: controlar e tratar os pedidos, codificar e garantir a transmissão das streams, e enviar resposta. Processamento usando diversos protocolos (vistos no diapositivo anterior) Fornecimento de serviços com Disponibilização aos users que garantam continuidade dos serviços em caso de falha de máquinas, assim como balanceamento sempre que possível, de forma a oferecer alta-disponibilidade.

12 PROJETO Vídeo On-Demand
Arquitetura – Clusters – Alta disponibilidade Alta Disponibilidade Serviços Redundância Replicação Balanceamento Em termos de rede, a alta-disponibilidade é implementada com redundancia nos equipamentos de rede Para isso são usados um minimo de 2 switches e 2 placas de rede para cada uma das ligações Armazenamento

13 PROJETO Vídeo On-Demand
Arquitetura – Clusters – Serviços e Processamento A arquitetura do nosso projeto é composto por 2 clusters O Cluster de Serviços e Processamento consiste num Controlador para a Alta-disponibilidade que coordena o balanceamento no acesso aos serviços. Os Nodes deste cluster são dedicados ao processamento de encoding de videos e também aos serviços de streaming Para que este cluster seja bastante escalável, As máquinas não devem ter armazenamento local e o sistema operativo deve estar localizado remotamente na rede.

14 PROJETO Vídeo On-Demand
Arquitetura – Clusters – Armazenamento Ligado ao cluster de serviços, está o cluster de armazenamento. A ligação entre os clusters deve estar munida de alta disponibilidade de rede com switches redundantes. No Cluster de Armazenamento, deve estar implementado um Serviço PXE em redundancia, para o sistema operativo remoto do cluster de serviços. O Armazenamento deve ter um controlador de Replicação, redundância e balanceamento e as Unidades de armazenamento devem ser escaláveis mesmo com o sistema ligado.

15 LVM DRBD OCFS2 DLM PACEMAKER Corosync
PROJETO Vídeo On-Demand Modelo Testador - Armazenamento LVM Logical Volume Manager DRBD Distributed Replicated Block Device Escalabilidade física do armazenamento Replicação por bloco de dados em rede OCFS2 Oracle Cluster File System V2 DLM Distributed Lock Manager Redundância de sistema de ficheiros Neste projeto o armazenamento consiste num sistema composto por: LVM – Para Escalabilidade do armazenamento em dispositivos físicos DRBD – que é Um software de cluster da ORACLE para Replicação de dados a nível de bloco via IP por vários nodes do cluster. OCFS2 é um filesystem da oracle para clusters com armazenamento balanceado. DLM é um componente que associado ao OCFS permite redundância consistente do sistema de ficheiros. Pacemaker é um gestor de recursos de cluster com imensas funcionalidades Corrosync- é um sistema de comunicações de cluster usado pelo Pacemaker e que evoluiu do Heartbeat. Consistência do sistema de ficheiros PACEMAKER Cluster Resource Manager Corosync Cluster Messaging Gestor de recursos no cluster Comunicações de cluster

16 PROJETO Vídeo On-Demand Sistema Operativo SSI / SMP
Modelo Testador – Processamento SSI SSI Single System Image Kerrighed Sistema Operativo SSI / SMP O cluster onde correm os serviços e são efetuadas as tarefas de encoding de videos é composto por máquinas sem disco local que acedem ao sistema operativo remotamente no cluster de armazenamento. O sistema operativo está numa única pasta partilhada por NFS à qual todos os nodes acedem em simultaneo. Daí a designação de Single System Image.

17 SMP Kerrighed PROJETO Vídeo On-Demand
Modelo Testador – Processamento SMP SMP Symmetric Multiprocessing Kerrighed Sistema Operativo SSI / SMP O Kerrighed é um contentor Linux de kernel modificado que permite multiprocessamento simetrico. Uma vez iniciado o Kerrighed, o acesso é via SSH na porta 2222 a partir de qualquer node do cluster. Dentro do Kerrighed temos acesso a uma máquina virtual composta por toda a RAM e nucleos de processador dos nodes do cluster. Nessa máquina podem ser executados processos que são distribuidos preemptivamente pelos cores disponíveis. As migrações só são possíveis para processos. O Kerrighed não faz migração de threads.

18 PROJETO Vídeo On-Demand
Modelo Testador – Esquema Rede HOST-ONLY Cluster Serviços: NGINX (HTTP/RTMP) VLC+FFmpeg (Streaming e Encoding) Kerrighed (Processamento distribuido) Cluster Armazenamento: DHCP pools: PXE + POOL HOST-ONLY DADOS (NFS) S.O. KERRIGHED (NFS) Kernel Linux (TFTP) Pacemaker IP’s virtuais TFTP + Kerrighed + DADOS + OCFS2 Rede PXE O sistema completo é composto por um cluster de serviços e um cluster de armazenamento. No cluster de serviços, Os serviços HTTP / RTMP e streamings unicast, são acedidos por IP/Virtual com alta-disponibilidade. O Streaming Multicast, via IP Multicast também com alta-disponibilidade. As Funcionalides são disponibilizadas com recurso a scripts PHP, Perl e Bash. Os Encodings de video são distribuidos com scripts pelos nodes disponiveis do cluster. O Sistema Operativo é carregado via PXE. Os Ficheiros de Dados de video são acedidos via NFS. No cluster de armazenamento, O Ambiente PXE existe em redundancia para o cluster de serviços. As Pastas partilhadas em redundancia para os Dados e para a imagem única do Sistema Operativo do cluster de serviços Os Dados armazenados são replicados bloco a bloco pelo DRBD. O Acesso redundante aos dados é garantido pelo sistema de ficheiros OCFS2. O Balanceamento, IP’s virtuais e gestão do cluster estão a cargo do Pacemaker Pacemaker Unidades de armazenamento: LVM DRBD EXT4 & OCFS2

19 PROJETO Vídeo On-Demand
Modelo Testador – Esquema Armazenamento Pacemaker DRBD File System’s DNSMasq NFS Virtual IP’s Cluster de Serviços Na Tabela Armazenamento temos a Agregação das unidades fisicas em volumes LVM Composição dos dispositivos DRBD configurados Na Tabela Pacemaker temos o: Modo dos dispositivos DRBD (Primary/Secondary ou Dual Primary) e os IP’s virtuais relativos a cada dispositivo DRBD Na Tabela DRBD temos as Pastas de mount dos dispositivos DRBD e o Sistema de ficheiros de cada dispositivo Na Tabela Cluster de Serviços temos os Serviços do cluster de armazenamento para o cluster de serviços, as Partilhas NFS das pastas onde estão montados os dispositivos DRBD. o software DNSMASQ que faz os serviços de DHCP e TFTP o DHCP é para as duas redes do cluster de serviços o TFTP é só na rede de PXE Rede PXE Rede Host-Only

20 PROJETO Vídeo On-Demand Linux Cluster Management Console
Modelo Testador – Gestão do Cluster PACEMAKER Primitive Clone Master/Slave Group Colocation Order O pacemaker que é o gestor de recursos do cluster é programado com uso de várias diretivas: As Primitives são os serviços geridos pelo Pacemaker. Os Clones são os Serviços replicados. Os Master/Slaves são os Serviços redundantes. Os Groups: são os agrupamentos de serviços que facilitam a gestão. As Colocations são para colocação dos serviços nos nodes especificados. As Orders são para ordenação de serviços, isto é, para indicar que os serviços devem correr antes ou depois de outros serviços. O LCMC é um interface gráfico que ajuda na configuração e afinação do Pacemaker pois permite visualizar em tempo real o estado e localização dos recursos no cluster. Linux Cluster Management Console GUI para Pacemaker

21 PROJETO Vídeo On-Demand
Modelo Testador – Esquema Cluster de Armazenamento Leitura Balanceamento Cluster de Serviços e Processamento Streaming de Vídeo VOD (Unicast) Adaptativo (Unicast) TV-Playlist (Multicast) Escrita Replicação Recapitulando, No Cluster de Armazenamento temos Leitura Balanceada e Escrita Replicada No Cluster de Serviços e Processamento temos o Streaming de Video que é repartido por Vod Unicast Adaptativo Unicast (em que o video se adapta à largura de banda do cliente) TV-Playlist – Multicast Para a rececão de Video Usa-se o Protocol RTMP Que Permite enviar video do cliente (webcam p exemplo) e ser retransmitido e registado. Permite várias emissões distintas em simultaneo. Permite autenticação das emissões. Envio de Vídeo RTMP WEBCAM Multi-sessão Multi-emisão

22 PROJETO Vídeo On-Demand
Demonstrador– Entrada de Stream por RTMP com autenticação HTTP GET NGINX RTMP Porta 12345 Application auth HLS on rtmp:// :12345/auth/ok?user=vod&pass=ubuntu PHP auth user=vod&pass=ubuntu Autenticação válida Para demonstrar o envio de video por RTMP implementou-se um sistema que permite receber um stream do cliente de forma autenticada. Esse stream pode depois ser visualizado em tempo real por outros clientes e pode tambem ser gravado em disco pelo autor do stream. --- Para demonstrar um envio de video por RTMP implementou-se o seguinte sistema: o utilizador envia o stream para o servidor através de um URL composto por: Protocolo RTMP Endereço do servidor Porta do serviço Nome da aplicação do NGINX que vai tratar a entrar RTMP Nome da emissão User e pass por GET A aplicação RTMP do NGINX envia os dados GET para o script PHP que valida a autenticação numa base de dados. O NGINX grava o stream que está a receber no armazenamento temporario na forma de segmentos HLS. Depois, o utilizador solicita via POST o nome da emissão a visualizar no video-player da página web . O Servidor carrega no video-player o stream vindo do armazenamento temporário e inicia a emissão. Se o utilizador carregar no botao para gravar, o servidor executa o FFMPEG para gravar em disco o stream que está a ser emitido. FFMPEG HTTP POST NGINX HTTP HLS Node da emissão a visualizar Ordem de gravação Stream HLS

23 Testador - VLC ch1  vod unicast ch2  canal unicast
ch3 canal unicast com transcoding ch4 canal multicast com agendamento ch5 e ch6 canal multistreaming ch7  multicast (fonte externa) Código aberto,multi-plataforma. Tem vários módulos(standard, transcode, duplicate - permite que se crie uma segunda cadeia, display- permite visualizar o fluxo de entrada Canais, interface acesso q o vlc disponibiliza aos clientes – vod, broadcast ou schedule (agendamento) o input pode ser fich estatico, fonte externa, …. ch1: rtsp, ch2 e ch3: http, ch4: rtp, ch6 retransmite o que esta a ser enviado pelo ch5, ch7 transmite em multicast um fich do youtube em unicast. Protocolo://Acesso ip : porto/nome do canal

24 Testador - Avserver Tipo I : stream Tipo II : feed
Avserver análogo ao vlc, mas tem 2 opções Tipo I Stream: rtp, avi->asf, input=output Tipo II Feed, que injeta nas streams, funciona c sendo um buffer de armazena/ local. Se houver um probl na receção garante o envio. Avconv permite transcodificação, que é injetada no input file do feed Foram feitos testes p o 1º tipo, p o 2º (probl com multicast)

25 Demonstrador PLAYLIST Converter Hls
Painel web p disponibilizar conteúdos. 1- Launch VLC inicia os vários servidores de streaming (ki) definidos no ficheiro /etc/hosts, para se poder lançar posteriormente um canal. A interface utilizada é a telnet com password Cada comando é executado em background através de SSH para cada um dos nodes. A vantagem da execução em background é que o sistema não tem de aguardar que o comando termine para poder executar o seguinte. ….. 9- Ok permite que o administrador visualize e altere o conteúdo do ficheiro que contém a lista da programação do canal Tv. 10. Create permite um vídeo para hls i.é fazer transcodificação para três níveis de qualidade não esquecendo as noções de alta disponibilidade. Para isso é feito um ping a cada node do kerrigued, e entre os nodes que estiverem ativos vão ser distribuídas as tarefas de transcodificação. Teste : Verifica-se que ao interromper um fluxo de emissão, o player continua a receber o outro fluxo no mesmo IP/port mas esta transição não é instantânea (demora entre 1 a 5 segundos). Tb existem pag p acesso dos clientes. Foram definidos 5 tipos de emissões demonstrativos dos vários formatos testados (vod unicast, multicast, canalTV, vod com streaming adaptativo e vod webcam). As páginas desenvolvidas foram: vod.php – exemplo de uma emissão por VOD. (controlada cliente) canalMulticast.php – exemplo de uma emissão por multicast. canalTv.php – exemplo de uma emissão de uma playlist editável. adaptative.php – exemplo de uma emissão de streaming adaptativo. hls webcam.php – exemplo de uma emissão de uma fonte externa. (mostrar video se houver tempo 1:16) PLAYLIST Converter Hls

26 Resultados VLC Avserver
grafico de percas de frames Vlc e avserver, havendo + percas no 2º (atenção à escala) Testes dependem das máquinas, das config, das codificações, do Sw.

27 PROJETO Vídeo On-Demand Alta-disponibilidade
Resultados – Cluster de serviços e processamento Serviços Alta-disponibilidade Multicast Unicast RTMP SERVIÇOS Sim Não ARMAZENAMENTO Processamento Em termos de testes à alta-disponibilidade, os clusters foram testados, desligando-se as máquinas alternadamente durante a execução de tarefas. Todos os testes de alta-disponibilidade passaram, à exceção do unicast dos serviços em que não foi possivel retomar um stream interrompido. No processamento, conseguiu-se usar o kerrighed, mas sem alta-disponibilidade, pois quando se desligava um node, todo o kerrighed bloqueava. A solução passou por não usar o kerrighed, fazendo a distribuição dos processos pelos nodes de forma manual com scripts. Na imagem, podemos ver 3 cores de processador correspondentes aos cores de todos os nodes com o respetivo processamento no cluster Kerrighed. A memória disponível é também o conjunto de toda a memória existente nos nodes.

28 Conclusões Objetivos atingidos
Arquitetura Soluções de disponibilização de conteúdos Dificuldades de implementação das soluções de distribuição open source Enorme quantidade de conhecimentos adquiridos na implementação dos clusters Inúmeras contradições respeitante às codificações e valores associados Para um trabalho futuro, poder-se-ia aprofundar estudos sobre os sistemas SSI de forma a usar o processamento distribuído em ambiente de alta-disponibilidade. Devido ao enconding de video ser bastante onoroso e ocupar todos os recursos disponíveis das máquinas,verificou-se que não é viável ter serviços de streaming nas máquinas onde são feitos encodings, pois o serviço é prejudicado devido à escassez de recursos disponíveis durante esse tempo. O ideal seria ter um cluster para os serviços e outro para o processamento. No cluster de serviços, usar-se-ia um S.O. Normal e no cluster de processamento, um S.O. SSI/SMP tipo Kerrighed. Seria tambem util implementar Automatismos para facilitar o acrescento de máquinas ao cluster de serviços. Para extender o projeto podem-se desenvolver galerias de vídeos para vários utilizadores (tipo Youtube). Canais com playlists individuais por utilizador. Para gerir a entrada de streams, seria útil tambem uma aplicação web com recurso a base de dados.


Carregar ppt "Orientação de Carlos Antunes"

Apresentações semelhantes


Anúncios Google