Bom, já aqui tinha falado do red5, que tinha iniciado a minha luta com o servidor de streaming 100% Open Source, mas hoje venho falar um pouco mais do que encontrei quando tive que meter mãos à obra!.
O que é o red5?
O Red5 é um servidor de media, de entre algumas características, pauta-se pelo stream de audio e video com bastantes formatos suportados como FLV, MP3, MP4, F4V, AAC, M4A, gravação de streams do cliente em formato FLV, shared objects, e remoting. O servidor em si passa por grandes semelhanças do tomcat, escrito totalmente em java e com aproximadamente a mesma estrutura de pastas. As aplicações também são colocadas na pasta webapps e em tudo a sua construção se parece como uma aplicaçâo qualquer java preparada para remoting.
Configurações e Aplicações
A grande e principal diferença é no entanto a obrigatoriedade de criação de uma Classe Application que extenda o ApplicationAdapter do package disponibilizado pelo red5. (red5.jar). A partir daqui basta implementar uns quantas funções como appStart(), appStop(), appConnect() e appDisconnect() para termos a nossa aplicação funcional. A nivel de configurações de arquivos ele diferencia-se um pouco de uma típica aplicação tipo blazeDS.
Existem apenas 3 arquivos de configurações, o web.xml o red5-web.xml e red5-web.properties. Ambos têm as suas funções, mas pouco temos que configurar para ter a nossa aplicação completamente funcional.
O Arquivo web.xml, é o arquivo tipico das aplicações blazeDS, aqui apenas temos que configurar o displayName da nossa aplicação, o param-name e o param-value para informar ao servidor como a nossa aplicação será acedidada.
Segue-se o arquivo red5-web.xml, que apenas temos que informar a nossa classe principal, trata-se de um arquivo padrão que pode ser usado sem alterações na grande maioria das aplicações variando apenas na identificação do bean da aplicação principal: bean id=”web.handler” class=”minha.class.Application”.
Por final o arquivo red5-properties que informa o caminho, host e portas da nossa aplicação. Aqui tambem pouco há a fazer.
Criem a pasta com o devido nome no webapps do red5, copiem a pasta WEB-INF para lá e re-iniciem. O Vosso servidor está operacional com a vosso aplicação disponibilizada.
Mas então o que permite o red5?
Permite muitas possibilidades, mesmo muitas… por exemplo, num projecto no qual estou a participar foi criada de raiz uma playlist de diversos arquivos flv no servidor red5, que ao iniciar vai criar um stream no servidor e carrega essa playlist nele. Por exemplo, no caso de videos (pode ser playlist de audio, videos ou até mista) a playlist carrega o primeiro video, quando este acaba passa para o segundo e por aí além… chegando leia mais »