Entendendo o Android, parte 3

Entendendo o Android, parte 3

Clique aqui para ler a segunda parte

Em plena versão 2.2, o Android é ainda surpreendentemente limitado com relação às funções de mídia, dependendo fortemente do uso de aplicativos de terceiros. É bem verdade que aparelhos como o Droid X se superam com relação à captura de fotos e vídeos e o sistema oferece um bom software de visualização para as galerias, mas ele ainda peca com relação às funções básicas, para exibir vídeos, músicas e podcasts.

O player de áudio padrão é bastante primitivo e, apesar do grande poder de processamento dos aparelhos (que seria mais do que suficiente para exibir a maioria dos vídeos sem precisar de conversão), o Android é surpreendentemente limitado com relação aos formatos de vídeos suportados, reproduzindo apenas arquivos em Flash e vídeos x264 em um container MP4. O sistema (pelo menos até a versão 2.2) não possui sequer um bom aplicativo para a exibição de vídeos locais, dependendo unicamente da galeria para a exibição de clipes. Isso cria um paradoxo, node você tem um aparelho capaz de reproduzir vídeos do youtube e outras fontes de streaming sem falhas, porém não consegue reproduzir um simples arquivo .avi copiado para o cartão de memória.

Enquanto ninguém aparece com uma versão portada do Mplayer ou do VLC para o Android, a melhor opção de player de vídeo com suporte a múltiplos formatos é o RockPlayer (disponível no Market)) um adware que pode ser usado gratuitamente com a exibição de anúncios, ou comprado por US$ 9.99. Ele é um player bastante competente, oferecendo suporte a quase todos os formatos de vídeo (MPEG 4, MKV, Divx, FLV, etc.) e formatos de containers e a capacidade de fazer downscaling de vídeos com uma resolução maior que a da tela (de acordo com o poder de processamento do aparelho). Se você espera conseguir assistir vídeos copiados diretamente do desktop, ele é por enquanto a melhor opção:

Ele possui três versões, de acordo com o conjunto de instruções usado pelo processador: ARM V7 (TI OMAP 34xx, Snapdragon, etc.), ARM V6 (chips ARM11) e ARM V6 com suporte a VFP. Presumindo que o seu aparelho use um chip compatível, a V7 é a que oferecerá o melhor desempenho.

Com exceção do RockPlayer, a solução é reencodar todos vídeos antes de transferí-los para o aparelho, assim como faríamos ao preparar vídeos para um iPod, criando um vídeo com container mp4, com codificação x264 e áudio aac, uma opção facilmente encontrada em diversos aplicativos de conversão. No Windows, você pode utilizar também o Android Converter, que oferece opções diretas para os formatos suporados: http://www.android-converter.com/en/.

É possível também fazer a conversão manualmente usando o mencoder (a melhor opção para quem gosta de criar seus próprios scripts). Nesse caso o comando é:

mencoder Video.avi -o Video.mp4 -of lavf -lavfopts format=mp4 \
-ss 1 -vf pp=ci,scale=428:320,expand=428:320,harddup -ovc x264 \
-x264encopts crf=30.0:nocabac:level_idc=30:bitrate=512:global_header:threads=2 \
-ofps 30000/1001 -oac faac -faacopts mpeg=4:object=2:br=128:raw -channels 2 \
-srate 44100 -af volnorm

Note que os dois primeiros parâmetros indicam os arquivos de entrada e saída (que podem ser substituídos por variáveis em um script), enquanto os outros dois em negrito indicam a resolução e o bitrate. O parâmetro “expand=” não é realmente necessário, mas ele assegura que o aspecto original seja mantido no caso de vídeos no formato 16:9. Como de praxe, a resolução deve ser ajustada de acordo com o aspecto do vídeo (4:3 ou 16:9) e a resolução da tela (e poder de processamento) do aparelho. Alguns exemplos de resolução são:

4×3: 428×320, 480×360, 640×480
16×9: 480×270, 640×360, 800×450, 852×480

O bitrate não têm uma grande influência no desempenho. Você pode aumentá-lo de 512 para 1024 (a última opção) caso desejado. Em geral, os aparelhos com processadores ARM11 são capazes de decodificar vídeos de no máximo 480×352, enquanto os aparelhos baseados no Cortex A8 possuem poder de fogo para resoluções um pouco maiores. O Motorola Milestone, por exemplo, é capaz de reproduzir vídeos a 852×480 (a resolução nativa da tela) sem muitos solavancos.

Aproveite para instalar o “Video Player” (gratuito) através do Android Market, que embora não adicione suporte a mais formatos, pelo menos oferece uma interface utilizável para visualizar os vídeos copiados para o cartão.

Outra boa opção é o Meridian Media Player, que nasceu como um player de áudio, mas que atualmente oferece também boas opções de exibição de vídeos, incluindo o suporte a legendas.

Outra particularidade digna de nota é a disponibilidade do SDK, que pode ser usado não apenas para quem quer desenvolver aplicativos, mas também para quem quer testar novas versões do sistema sem precisar de um aparelho físico. Ele é também necessário para o uso de muitos “hacks”, incluindo alguns tipos de modificações de firmware, instalação de pacotes baixados manualmente e assim por diante.

Você pode baixar o SDK do Android no: http://developer.android.com/sdk/index.html

Para instalar o Android SDK, o primeiro passo é ter o Java SDK (o pacote de desenvolvimento, diferente do JRE que é usado pelo plug-in do navegador) instalado. Você pode baixá-lo no http://java.sun.com/javase/downloads/index.jsp, onde você encontra também a versão Linux (que geralmente não é necessária, já que você pode instalar o Java a partir do gerenciador de pacotes).

Opcionalmente, você pode instalar também o Eclipse (http://www.eclipse.org/downloads/), mas ele é necessário apenas se você pretender usar o plug-in ADT.

O próximo passo é baixar o Android SDK Manager disponível no http://developer.android.com/sdk/, que possui versões para Windows, OsX e Linux. A instalação das três versões é virtualmente idêntico, bastando executar o “SDK Setup.exe”, ou o “tools/android” para abrir o gerenciador e prosseguir com a instalação dos componentes.

Via de regra, você precisará dos pacotes Android SDK Tools, SDK Plataform e Google APIs, mas o Samples for SDK é também uma boa pedida, já que inclui muitos exemplos de desenvolvimento. No Windows e no OS X é necessário instalar também o USB Driver Package, que está no final da lista:

Caso você receba um erro de SSL ao fazer o download das fontes, marque a opção “Force https:// sources to be fetched using http://” no “Settings > Misc” e atualize novamente. Outro erros são normalmente causados por falhas na instalação do Java, que são comuns especialmente no Linux. Nesse caso o mais simples é remover os pacotes instalados e reinstalar o Java usando os pacotes da Sun.

No Windows, abra o gerenciador de dispositivos e verifique se o dispositivo “Fabricante ADB Interface” está corretamente instalado. Caso esteja com uma interrogação, faça uma instalação manual, apontando os drivers dentro da pasta “usb_driver” (na pasta onde o SDK foi descompactado) ou os drivers do fabricante.

Com os componentes baixados, é hora de criar a máquina virtual na aba “Virtual Devices”. Veja que juntamente com a resolução da tela e a capacidade do cartão SD que será emulado, é possível escolher também a versão do sistema que será usada (de acordo com os pacotes baixados no passo anterior), bem como outras opções de hardware, como a quantidade de memória RAM, a presença ou não de uma câmera e um transmissor GSM e assim por diante, que são simulados usando a conexão de rede e outros periféricos do seu PC. Como novas versões do sistema são disponibilizadas no SDK bem antes que aparelhos baseados nelas cheguem efetivamente ao mercado, ele acaba sendo também uma excelente opção para testar as mudanças em primeira mão.

Você notará que a aparência do sistema é bem diferente que o encontrado na maioria dos aparelhos, já que os fabricantes aplicam skins visuais e pré-instalam aplicativos diversos como uma forma de diferenciar seus aparelhos, enquanto o emulador oferece uma versão vanila do sistema. Outra coisa a ter em mente é que o desempenho do emulador é consideravelmente mais baixo que o de um aparelho real, pois o processo de emulação (feito com base no código do Qemu) resulta em uma redução de 90 a 98% no desempenho. Seria preciso um Core i5 de 5 GHz para rodar o emulador com o mesmo desempenho de um aparelho baseado no Cortex A8 de 1.0 GHz, por exemplo.

Com exceção disso, o emulador é uma representação bastante fiel de um aparelho real, com a opção de escalonar a tela para que ela fique do mesmo tamanho da de um aparelho real, simulação do acesso à web usando a conexão de rede do seu PC, simulação do touchscreen usando o mouse e assim por diante:

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X