View Comments



Euro 2012 Streaming
Sat Jun 16 21:43 2012



Bem sei que o Futebol é o ópio do povo, mas também diz o povo para desconfiar de quem não tem vícios, e se pensam que isto me distrai das aberrações da nossa Governação, estão redondamente enganados.
Por sorte os jogos da Selecção Nacional calharam num Sábado, num Feriado (Lisboa) e num Domingo, pelo que pude/posso assistir aos mesmos no conforto do meu sofá com o tremoço previamente temperado, já a visualização dos outros jogos é necessário alguma ginástica.

Na empresa os streamings estão barrados pelas políticas das firewalls que só permitem acesso ao exterior pelo proxy de HTTP(S). O proxy por sua vez tem a categoria de streaming como rejeitada, o que torna sites como o Ustream.tv, Mips.tv e afins inacessíveis.
Os sites do RTP, SIC/Sapo, TVI/IOL estão acessíveis mas todos batem na firewall porque usam o protocolo RTMP e o porto 1935 está cortado. A RTP ainda tenta contornar este facto e ao verificar que não consegue a transmissão pelo 1935, tenta usar o protocolo RTMPT onde encapsula o RTMP no HTTP saindo portanto pelo porto 80. O problema é que o player de flash ignora as configurações de proxy do browser e tenta sair directo para a internet, o que mais uma vez se encontra barrado nas firewalls.
Vai para além do meu conhecimento porque é que as empresas responsáveis por estes streamings não o fazem por HTTP, decerto haverá razões válidas, porém o Youtube/Live fá-lo através do content-type "video/x-flv", que é uma boa solução de pseudo live streaming enquanto não existir uniformização dos Adaptive Streaming (HDL/HLS/MSS) e a universalização dos seus players.

Tendo em vista uma melhor acessibilidade aos jogos do Europeu, decidi pegar nestes streams e disponibiliza-los pelo meu servidor via HTTP, sendo este acesso apenas autorizado a mim mesmo para não esbarrar com a nebulosa lei dos direitos de transmissão.
Sendo assim, decidi pegar no RTMPdump para receber os streams, o VLC como streamer de HTTP e o Apache para servir o JWPlayer. Estranhamente a coisa não estava a funcionar, o RTMPdump não conseguia ir buscar os streams e só um pouco mais tarde percebi que existe uma verificação de IP's, e como o do servidor não pertence a nenhum Autonomous System Português não tinha direito a visualizar a emissão. A solução passou por receber os streams pela ligação de casa e enviá-los para o servidor onde se encontrava o VLC, sendo o netcat a ferramenta perfeita para esta ligação.

Basicamente:

No servidor:
nc -l 6666 | cvlc - --sout '#std{access=http{mime=video/xflv},
dst=:8080/europeu.flv}'


Em casa:
rtmpdump -v -r "rtmp://video-live.iol.pt/live?token=659dbe85-72e3-4065-a1d7-44e426843065" -y "TVI2" | nc antitese.org 6666

Resultado: