Mostrando postagens com marcador Moonlight. Mostrar todas as postagens
Mostrando postagens com marcador Moonlight. Mostrar todas as postagens

domingo, 6 de outubro de 2013

Pipelight: uma nova maneria de rodar o Silverlight no Linux

Já tem muito tempo que era possível rodar os videos do Silverlight nos navegadores Linux através do Moonlight, que é um plugin baseado na tecnologia Mono. Porém este plugin acabou sendo descontinuado e a página de download saiu do ar, sendo necessário baixar de um outro lugar.

Até aí nada demais já que ainda era possível assistir algumas aulas online da Estácio que, infelizmente utiliza essa tecnologia. Porém o Moonlight suporta até a versão 4. E, se o sistema que disponibiliza as aulas fizer um upgrade para a versão 5...

Cadê a aula????

Isso não acontecia em todas as matérias já que algumas ainda utilizavam o Flash (ufa!). Porém, precisava assistir as aulas e não tive outra escolha do que rodar um Windows numa máquina virtual para assistir apenas uma ou outra matéria.

Mas, não estava sozinho nessa e a aula online não era o único caso. Isso também acontecia com quem precisava assistir a filmes no Netflix, Telecine Play e qualquer outro serviço de streaming que utiliza o Silverlight. Quem utiliza Linux fica sem opção a não ser rodar o Windows.

Mas logo surgiu uma solução que não é dar um fork no Moonlight já que isso teria que ter acesso a documentação da Microsoft, que não é pública, fazer uma tremenda engenharia reversa para implementar cada função do plugin original, o que levaria muito tempo. Uma boa solução foi utilizar o próprio plugin do Silverlight.

Mas como rodar ele já que o Silverlight é um plugin para a versão Windows do navegadores???

Vamos pensar como o nspluginwrapper que é um plugin intermediário capaz de utilizar os plugins 32bits em navegadores 64bits no Linux. Parece que um grupo pensou a mesma coisa e criaram o Pipelight.

A idéia do Pipelight é a seguinte: Quando o plugin é carregado no navegador ele chama o pluginloader.exe através de uma versão modificada do Wine. Esse pluginloader.exe simula o comportamento de um navegador Windows para o plugin do Silverlight e tudo que é recebido e processado pelo Silverlight é repassado para o Navegador Linux de forma totalmente transparente, ou seja, o resultado final é semelhante a figura abaixo:

Agora sim não vou depender de outro sistema operacional.

Para instalar o pipelight é necessário os seguintes componentes:

  • O plugin do pipelight
  • O wine-compholio - que é uma versão modificada do Wine capaz de rodar o Silverlight
  • wine-silverlight5.1-installer
  • wine-mpg2splt-installer
Os dois últimos componentes instala todo o suporte utilizado pelo Silverlight e o próprio Silverlight.

A instalação varia de distribuição para distribuição, então segue os procedimento para algumas distriubições:

Ubuntu:

sudo apt-add-repository ppa:ehoover/compholio
sudo apt-add-repository ppa:mqchael/pipelight
sudo apt-get update
sudo apt-get install pipelight

#Se o plugin não rodar de primeira:
sudo apt-get install wine-silverlight5.1-installer wine-mpg2splt-installer

Debian:

dpkg --add-architecture i386

wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
apt-key add Release.key

Adicione no /etc/apt/source.list

deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./

apt-get update

# Debian wheezy
apt-get install pipelight

# Debian jessie 
apt-get install pipelight libjack0:i386

#Se o plugin não rodar de primeira:
sudo apt-get install wine-silverlight5.1-installer wine-mpg2splt-installer

Obs para Debian Sid: Tive um problema no wine-compholio já que ele pedia um pacote que não era instalável na versão instável. Então peguei a versão do ppa do Ubuntu, removi a dependência do libasound2-plugins e recompilei o pacote. Se esse for o seu caso, baixe o pacote que compilei aqui e siga o resto das instruções acima.
Atualização: 07/10 - Em contato com um dos desenvolvedores foi verificado as dependências até chegar no libopus0. E este pacote possui no bug no multiarch descrito em http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=674467. Uma solução é descrita aqui mas o mantenedor do pacote recusa a aplicar o patch indicado até chegar na próxima versão. Enquanto a nova versão não chega ou o mantenedor ceda a pressão dos usuários, tive que aplicar o patch indicado e instalar o libopus0 tanto para amd64 quanto para i386. O procedimento deu certo e consegui instalar os pacotes desta maneira:

dpkg -i libopus0_1.1~beta-3.1_*.deb
apt-get install wine-compholio libasound2-plugins:i386 libavcodec54:i386 

O detalhe é que utilizo alguns pacotes do http://deb-multimedia.org/ que depende do pacote problemático.

Então, se esse for o seu caso, baixe os arquivos libopus0_1.1~beta-3.1_amd64.deb  e libopus0_1.1~beta-3.1_i386.deb neste link e siga o restante dos comandos acima.

And thanks Michael.



OpenSuse:

zypper ar --refresh http://download.opensuse.org/repositories/home:/rbos:/pipelight//home:rbos:pipelight.repo
zypper ref
zypper install pipelight

Ainda tem as instruções para compilar na mão que pode ser acessado na página do projeto.

Além da aula da Estácio, consegui também rodar os vídeos do Telecine Play, só tive um problema para exibir os controles no Chrome mas rodou perfeito no Firefox. Mas isso não deve ser levado como um parâmetro já que testei apenas em uma máquina. Pode ser que funcione em outras instalações, o que varia para cada instalação.

E, se tiver algum problema em alguns sites, tente instalar um User Agent Switcher. Esta parte já foi abordada em http://www.adilson.net.br/2012/02/resolvendo-os-problemas-no-guardiao-30.html e pode servir muito bem agora para certos sites que só querem Windows.

Mais detalhes:

Tenham um bom final de domingo.


segunda-feira, 28 de dezembro de 2009

Moonlight: o texto da nova “promessa de não processar” da Microsoft e remoção de código GPL do mesmo

Temos duas noticias em um mesmo post. Originalmente vindo de: http://br-linux.org/2009/moonlight-o-texto-da-nova-promessa-de-nao-processar-da-microsoft/



Em setembro fomos informados de uma promessa pública da Microsoft de não processar por patentes pelo uso, nos termos da promessa, de alguns pafrões implementados no Mono.
Agora há uma nova promessa, cobrindo o Moonlight 3 e 4. O tema me interessa pouco, pois não sou usuário destes produtos, por isso vou me limitar a traduzir a notícia do LWN a respeito:
Para os curiosos, a Microsoft publicou um novo “compromisso de não processar” cobrindo o Moonlight 3 e 4. Ainda é bastante estreito. “A Microsoft, em seu nome e no de suas subsidiárias, neste ato se compromete a não processar Usuários Finais (…) por conta de seu uso de implementações do Moonlight na forma originalmente provida pela Novell (…) mas apenas caso estas Implementações do Moonlight sejam usadas como ‘Conforming Runtimes’.


A Microsoft também pode descontinuar a qualquer momento. (via lwn.net)
O texto original diz o seguinte:
Promessa para os usuários finais de Moonlight 3 e 4


Microsoft, em nome de si mesma e de suas subsidiárias, convenientemente decide não processar os usuários finais por violação sob Necessary Claims da Microsoft e suas subsidiárias em razão da utilização do Moonlight pelos usuários finais.  Implementações provida inicialmente pela Novell, durante o prazo e, se for caso disso, a extensão ou extensão pós-período, mas apenas na medida em que tais  Implementações do Moonlight são usados como Conforming Runtimes. As promessas anteriores devem sobreviver a rescisão do acordo, mas somente quanto à específica cópias de tais implementações distribuídas do Moonlight durante o prazo, e se for o caso, a extensão ou Pós-extensão do período. 




A Microsoft se reserva o direito de atualização (incluindo interromper) a promessa anterior com os termos do Novo Acordo de Colaboração entre Moonlight Novell e Microsoft, que foi publicamente anunciada em ou acerca de 17 de dezembro de 2009 (o "Contrato"), porém, a promessa anterior continuará para as cópias específicas da Implementação do Moonlight originalmente fornecido pela Novell e distribuídos antes de qualquer atualização tal. 


Todos os direitos não expressamente concedidos pela promessa corrente  são reservados à Microsoft. Não há direitos adicionais (incluindo todas as licenças implícitas, convênios, lançamentos, ou outros direitos) são concedidas por implicação, impedimento ou outra forma, incluindo quaisquer direitos sob qualquer  patentes adicionais da Microsoft e não sem direito a qualquer tecnologia incluídos nessa Implementação do Moonlight , mesmo se tecnologias adicionais relacionadas ou de habilitação (por exemplo, sistemas operacionais, navegadores da web, ou outras plataformas tecnologicas) são obrigados a usar a Implementação do Moonlight.

 A Microsoft não é vinculada, nem concede quaisquer direitos a proteção,  licenças de terceiros com relação  com as Implementações do Moonlight (por exemplo, todas as versões a Licença Pública Geral - GPL).




Se acharem estranha a tradução é porque revisei pouco a tradução feita pelo Google :P




Outra notícia curiosa vem do site: http://boycottnovell.com/2009/12/24/monodevelop-removes-gpl-code/ aonde afirmam que estão substituindo todo código GPL por outros sob a licença GPL e MIT X11 no Mono, o que pode permitir fechar o código a qualquer momento. Pelo jeito ainda vai rolar muita teoria da conspiração pela frente.