Blog::Windows


Editando GIFs animados

Dias atrás, precisei editar 2 GIFs animados para um projeto pessoal (o site da OnOff Club).

Como fazia anos que eu não tinha essa necessidade, eu simplesmente nem lembrava o que eu usava pra editar essas figuras.

Procurando na web, achei dezenas de dicas para usar algum programinha específico pra Windows, e pior, geralmente pago ou com limitação.

Então, pensei comigo: por que não simplesmente tentar no meu editor do dia-a-dia (o GIMP, seja no Linux ou no Windows)?

E não é que funciona bem? Depois de abrir a imagem, eu lembrei que era exatamente o GIMP que eu usava: ele trata os quadros do GIF como layers, e na hora de salvar a figura, ele vai te perguntar se você quer achatar as camadas ou salvar como uma animação.

Mais simples, impossível!






Tela em branco com PHP 5.3 e Windows Vista/7

Estes dias precisei instalar o PHP 5.3 em várias máquinas, entre elas alguns Windows Vista/7, e sempre me deparava com uma tela em branco (ou blank screen, se preferirem).

Para os que chegarem aqui através de mecanismos de busca, vou ser bonzinho e já separar o post em "blá blá blá" e a resolução do problema.

 

Problema

Tempos atrás vi uma implementação relativamente decente de ActiveRecord pro PHP. Claro que pra isso, eles se basearam na versão do Ruby.

Bom, pra funcionar, essa biblioteca depende de ter instalado o PHP 5.3, que corrige alguns erros históricos de design do PHP e traz algumas melhorias (não, a bagunça das funções nunca vai ser arrumada ou vão usar pacotes pra organizá-las).

No Linux, foi que é uma maravilha. Mas no Windows, eu instalei manualmente, com instalador, versão thread safe, não thread safe, mas todas davam o mesmo final: tela em branco.

Procurei no Oráculo, e vi que existe algum conflito do PHP 5.3 e do IPV6 do Windows Vista/7. Mesmo para aqueles que usam XAMPP ou WAMP.

Interessante que o IPV6 já está desabilitado nesta máquina, mas mesmo assim o PHP insiste em ter conflito com ele.

 

Resolução

Enfim, resolvi testar a resolução do site (cujo link eu não estou mais achando, em inglês tem vários apontando o problema, em português nenhum!), e não é que funcionou?

Para isso, é preciso editar o arquivo C:\Windows\System32\drivers\etc\hosts com privilégios de administrador (senão você não vai conseguir salvar as modificações).

Neste arquivo, comente a linha que começa com ::1 (este ::1 é o equivalente ao 127.0.0.1 - ou localhost - para o IPV6).

Para comentar, coloque o sinal de jogo da velha (#) no começo da linha. Ou seja, agora essa linha deve começar com #::1 (o resto da linha não altere).

Reinicie o Apache.






Player multimídia em Java

Recentemente precisei fazer, para uma agência de publicidade, um player de vídeo em Java, que além da necessidade óbvia de rodar no Linux, atendesse à vários requisitos deles, como: sempre iniciar em full screen, ler a playlist de um arquivo XML remoto (ou não), fornecer estatísticas de uso pra um banco de dados, exibir imagens, reproduzir cada item durante um tempo programado, exibir arquivos Flash, etc.

Como não achei tutorial algum na web explicando o que fazer (seja em português, seja em inglês), vou descrever brevemente o que fiz e funcionou tanto no Windows XP, Vista e Ubuntu 9.10.

Existe uma plataforma de multimídia pra Java, o Java Multimedia Framework, da Sun. Funciona bem, captura vídeo também, porém os codecs já estão bem desatualizados. Saí em busca de algo que pudesse reproduzir os formatos mais populares hoje em dia.

Primeiramente um resumo do que procurei e NÃO funcionou:

- FMJ: uma tentativa de reescrever o código do JMF. Funciona bem pra reproduzir vídeos, porém faltam várias features, e é muito difícil de se reaproveitar o código pra fazer algo.

- JFFMPEG: um wrapper Java para a FFMPEG (biblioteca de codecs feitos em C e usado para vários players tanto em Windows quanto Linux). A idéia deles é boa: se o codec existir nativamente, usa a versão nativa, senão usa a versão em Java. O problema: eles não fornecem as bibliotecas nativas para Windows. Eu notei que os envolvidos fundaram uma empresa e agora VENDEM uma solução. Por isso tiraram os arquivos que fariam a coisa funcionar. Até existem os passos pra se compilar tudo, mas além de estarem escondidos no site, são incompletos.

Depois de abandonar estas duas soluções, achei o FOBS4J, que é uma solução em Java baseada no JMF e um wrapper sobre a FFMPEG. Baixei e funcionou com todos os vídeos comumente usados.

Como eles usam o JMF como base, baixei o código dele também do site da Sun. Não é o código mais lindo do mundo, mas pode ser reusado numa boa.

Agora aqui mais algumas dicas salvadoras:

- a versão 0.4.2 do fobs4j (que só existe pra Windows) é altamente instável, não a use (ela sempre dá crash por volta de 5 minutos de reprodução de vídeo);

- como você vai ver nos exemplos do fobs4j, você vai precisar sempre informar qual o path das DLLs/SOs (use um script no Linux, e um .bat ou .exe no Windows);

- o código do JMStudio é meio porquinho, então você pode tentar fazer seu próprio player, ou se estiver acostumado a ler código, pode tentar usar o do JMStudio pra algo.

- o JMF do fobs4j não inclui várias bibliotecas nativas. Se você precisar fazer captura de vídeo, vai precisar delas. Ou seja, basta baixar a versão do site da Sun e copiar estas bibliotecas.

Espero que isso possa ajudar quem tiver que passar pelos mesmos problemas.






Notícias de ano novo

Bom, ano novo, vida nova, esperanças renovadas, blá, blá, blá, e depois da ressaca, vamos nós começar o ano com comida requentada de ontem à noite. Ninguém nunca se tocou disso? Será que não "dá azar" começar o ano assim?

Mudando de assunto, aqui vão alguns fatos interessantes sobre o final de 2008 e começo de 2009:

- Ontem muita gente comemorou o ano novo 1 segundo antes dele acontecer. Isso porque 2008 ganhou um segundo à mais. Os cientistas fizeram isso para corrigir as pequenas variações na velocidade rotacional da Terra. A última vez que isso aconteceu foi em 2005. Uma pena você não ter lido isso ontem, poderia ter usado pra começar uma animada conversa com alguém interessante.

- Se você tem um Microsoft Zune (tocador de músicas da Microsoft, feito para tentar concorrer com o Apple iPod) de 30GB, provavelmente ele está travado desde o dia 30. Segundo o fórum oficial, algum bug no aparelho deixa o mesmo travado na tela inicial de carregamento. Provavelmente está ligado ao fato do sistema não estar preparado para lidar com um ano bissexto (como foi 2008). Se o seu não travou, não perca tempo: reinicie ele, e ele vai travar, e você pode se juntar a outros usuários nos fóruns.

- Ainda falando em Microsoft, o Beta 1 do Windows 7 vazou estes dias na web. Dizem que é o Windows mais estável em estado beta já liberado pela empresa. Os benchmarks apontam que ele chega a ser mais rápido até que o Windows XP, mesmo que o Win 7 use o Vista como base. Aqui tem um review. Só espero não ter problemas em 31 de dezembro de 2012.

- O Firefox termina o ano de 2008 (segundo o NetApplications) com mais de 20% do mercado de navegadores. E o IE caiu para menos de 70%, a perda mais significativa de sua existência. Enquanto isso, a Google pede para os usuários do IE 6 trocarem para o Chrome ou Firefox.

- Você já viu as previsões para 2009 no site do meu amigo Budrush? (Repare que tem parte I e II)






Java 6 Update 10

Saiu o tão esperado Update 10 do Java 6. Não traz evoluções na linguagens, mas várias melhorias na Máquina Virtual.

A promessa é fazer frente à outros plugins para navegadores e melhor integração com os sistemas operacionais.

Correção de algumas incompatibilidades com o Windows Vista (e uso do DirectX 10 para operações 2D e 3D), melhor integração com o Compiz no Linux.

Ao rodar algum applet (óbvio, no navegador), o mesmo será executado em um processo à parte, podendo inclusive ser arrastado para o desktop.

Além disso, quem tentar instalar o plugin pela primeira vez, terá um plugin mínimo instalado num primeiro momento. Logo após isso, as classes necessárias para rodar o programa serão "baixadas" logo em seguida, para permitir que o programa seja iniciado.

Só ainda não verifiquei se essa versão já inclui o horário de verão do Brasil (caso não, existe uma ferramenta específica para atualizar as timezones da máquina virtual).





Anúncios