Com exceção do Mplayer e do VLC, que são baseados em bibliotecas próprias, quase todos os demais players de vídeo para o Linux são baseados em um backend externo. Em outras palavras, eles “terceirizam” o processamento dos arquivos de vídeo para outros aplicativos, cuidando apenas a interface e da exibição.
Os dois principais backends são o libXine (mais antigo, mas ainda bastante usado) e o GStreamer, que está se tornando uma espécie de plataforma universal para aplicativos de mídia no Linux, sendo usado por padrão no GNOME e também como backend para o Phonon, no KDE 4.
As duas outras forças são o VLC (que continua bastante usado, e possui o diferencial de ser multiplataforma, possuindo também versão para Windows) e o Mplayer, que persiste como um player independente, que também oferece bons recursos. Vamos à lista dos principais concorrentes:
Mplayer: O Mplayer é possivelmente o player de vídeo para Linux mais famoso. Ele foi o primeiro player de vídeo para a plataforma capaz de exibir vídeos em quase todos os formatos e DVDs protegidos. Muito do que existe hoje na área de suporte a formatos de vídeo e multimídia em geral, no Linux, surgiu graças ao trabalho feito no Mplayer.
Além de ser usado diretamente via linha de comando, o Mplayer acompanha uma interface simples baseada na biblioteca GTK, o gMplayer, além de ser utilizado como backend por outros players.
O grande problema com o Mplayer é que ele incorpora código de diversos outros projetos, incluindo componentes vindos de codecs proprietários. Isso faz com que ele seja um vespeiro do ponto de vista das patentes de software, em que as grandes distribuições não se arriscam a mexer. Devido a isso, muito embora o Mplayer seja ainda muito usado, ele precisa quase sempre ser instalado através de um repositório externo, como no caso do PLF (no Mandriva), do Medibuntu (no Ubuntu) ou do Debian-Multimedia.
Um dos grandes atrativos do Mplayer é que ele oferece um excelente suporte a vídeos danificados ou incompletos. Isto é muito útil naqueles casos em que você baixa um arquivo pela metade e quer assistir o que já baixou, sem ter que achar o resto do arquivo. O Mplayer é esperto o suficiente para reconstruir o mapa de frames do arquivo (que normalmente fica no final) e exibir o vídeo normalmente.
O índice de sucesso também é muito bom com vídeos danificados, ele consegue “pular” as partes defeituosas e exibir o restante do vídeo, geralmente sem muitos problemas. Ele também é eficiente na hora de assistir vídeos em formatos exóticos, para os quais não existe um codec adequado instalado (ele simplesmente tenta exibir usando o codec mais próximo, muitas vezes com bons resultados). A regra é sempre “fazer o possível” para exibir o vídeo, não importa o quão estranho seja o arquivo.
O menu de opções do gMplayer é acessado clicando com o botão direito sobre a janela. O menu “Preferences” esconde muitas opções importantes, que são uma deixa para falar sobre as configurações de vídeo que são encontradas também em outros players:
A opção mais problemática é a do driver de áudio, que nos remete ao problema dos servidores de som. Tradicionalmente, utilizávamos o alsa, deixando que o Mplayer enviasse o fluxo de áudio diretamente para os drivers de som. Entretanto, a maioria das distribuições atuais (incluindo o Mandriva e o Ubuntu) utilizam o pulse, obrigando-o a configurar o gMplayer de acordo. Ao tentar utilizar o Alsa, ele passa a exibir mensagens de erro, ou simplesmente fica mudo.
Em seguida temos a questão do driver de vídeo, que é igualmente importante. Na grande maioria dos casos, utilizamos o “xv”, que tira proveito dos recursos de vídeo disponíveis em todas as placas de vídeo atual. Isso faz com que grande parte do processamento do vídeo seja processado pela própria placa de vídeo, reduzindo o uso de processamento e, no caso dos notebooks, melhorando a autonomia das baterias.
A segunda opção é o “x11”, onde todo o processamento é feito via software. Ele é necessário em muitas placas com chipsets da SiS, devido às deficiências dos drivers Linux. O x11 deve ser usado como um último recurso, pois usa muito processamento e, na maioria dos casos, não permite assistir os vídeos em tela cheia. As demais opções são drivers específicos: o “xmga”, por exemplo, é usado apenas nas antigas placas da Matrox.
Continuando, a opção “Enable Double Buffering” é importante para a qualidade de exibição, pois permite que o software processe simultaneamente dois quadros ao invés de um, permitindo que, enquanto o primeiro quadro está sendo exibido, o seguinte já esteja sendo processado, evitando delays e perda de frames. Esta opção exige mais processamento, por isso pode ser desabilitada para melhorar o desempenho em micros antigos.
A opção “Enable direct rendering” faz com que o Mplayer tente acessar a memória da placa de vídeo diretamente, em vez de seguir o processo normal, onde ele enviaria os quadros para o X para que só então eles fossem enviados para a placa. O ganho de desempenho não é tão grande quanto poderia parecer à primeira vista, mas ela acaba sendo uma aliada ao tentar assistir vídeos em máquinas antigas. A principal observação é que ela pode causar problemas com a exibição das legendas (que são renderizadas via OSD) em muitos casos.
Entretanto, a opção mais importante ao tentar assistir vídeos em netbooks ou máquinas antigas é a “Enable Frame Dropping”, que permite que o player descarte parte dos quadros nas cenas mais movimentadas, exibindo apenas os que o processador for capaz de processar em tempo hábil. O vídeo fica pulado, mas pelo menos você consegue assistir.
É importante manter a opção “Enable HARD frame dropping” desativada, pois ela causa mais problemas do que resolve. Em resumo, ela faz com que o player descarte frames diretamente ao ler o arquivo (antes de começar a processá-los) quando não existe processamento suficiente disponível. O resultado é que, ao usá-la em micros antigos, a imagem acaba ficando pausada ou com quadros embaralhados, como se você estivesse assistindo um arquivo corrompido.
Na aba “Codecs & demuxer”, mantenha ativada a opção “Rebuild index table, if needed”, já que é ela que permite que o player reconstrua o mapa de frames de arquivos corrompidos ou incompletos.
Outra opção que ajuda em alguns casos é a “Misc > Cache”, que permite que o player mantenha uma porção do vídeo na memória em vez de precisar ler pequenos pedaços a todo instante a partir do HD ou DVD. Usando um buffer grande (o máximo no gMplayer é “65535”, que corresponde a 64 MB) o HD ou drive óptico do notebook pode ficar mais tempo em modo de baixo consumo (melhorando um pouco a autonomia da bateria) e você evita pausas ao assistir vídeos a partir de compartilhamentos de rede.
Concluindo, temos a opção “Misc > Enable postprocessing”, que permite usar qualquer excedente de processamento para aplicar filtros adicionais, destinados a melhorarem a qualidade da imagem. Ela nem sempre é uma boa ideia em notebooks, devido à questão da bateria, mas em outras situações é uma ajuda bem-vinda.
Além da interface padrão (o gMplayer), que já está bastante ultrapassada, existem diversas outras interfaces para o Mplayer, que se diferenciam nos recursos e na biblioteca usada.
Um exemplo bastante promissor é o SMPlayer (https://smplayer.sourceforge.net), que é normalmente encontrado nos mesmos repositórios que oferecem o Mplayer padrão e pode ser também baixado diretamente através da página oficial.
Além de oferecer uma interface atualizada, baseada na biblioteca QT4 (por não utilizar componentes do KDE, ele é bastante leve mesmo quando usado sobre o GNOME), ele oferece algumas funções por enquanto exclusivas. Alguns exemplos são o recurso de lembrar o ponto em que parou de assistir cada vídeo e abrí-los exatamente na mesma posição da próxima vez (a opção está disponível no General > Ajustes de Mídia” na configuração) e o de permitir localizar legendas para vídeos automaticamente (com a ajuda do opensubtitles.org).
Como o SMPlayer é apenas uma interface para o Mplayer de linha de comando, você notará que muitas das opções dentro da configuração são as mesmas que estão disponíveis na configuração do gMplayer. Entretanto, ele possui bem mais configurações relacionadas à interface, ao som e aos atalhos de teclado. Entre as configurações de vídeo, uma opção importante é ativar o deinterlace, que evita os riscos horizontais ao assistir DVDs.
Totem: Apesar de as primeiras versões do Totem terem sido bastante deficientes, ele acabou evoluindo e se tornando o player de vídeo padrão do GNOME, o que garantiu um posto de destaque na maioria das distribuições baseadas nele. Ele é o único player que vem pré-instalado no Ubuntu, por exemplo.
Diferente do Mplayer, que oferece um grande volume de opções, o Totem segue a filosofia oposta, escondendo toda a complexidade e mostrando uma interface bastante espartana ao usuário, com as decisões sobre os drivers, codecs e outras opções sendo tomadas automaticamente. O menu de preferências, por exemplo, permite ajustar… bem, não permite ajustar basicamente nada:
Embora não exista uma opção dentro da interface para carregar legendas, o Totem é capaz de carregá-las automaticamente caso você renomeie o arquivo com a legenda, deixando-o com o mesmo nome do arquivo de vídeo (mudando apenas a extensão).
Ele possui também suporte a plugins. Nas versões atuais, você encontra um plugin para pesquisar e exibir vídeos do YouTube pré-instalado.
O Totem utiliza o GStreamer como backend, o que significa uma integração muito boa com outros aplicativos do GNOME. As miniaturas de pré-visualização dos vídeos, que são mostradas pelo Nautilus, por exemplo, são justamente renderizadas pelo Totem.
Os plugins que oferecem suporte aos diferentes formatos de vídeo são divididos em 3 grupos, na forma dos pacotes “gstreamer0.10-plugins-good”, “gstreamer0.10-plugins-bad” e “gstreamer0.10-plugins-ugly” (que inclui os plugins para formatos restritos).
Normalmente, apenas o primeiro vem pré-instalado, o que resulta em um suporte bastante incompleto. No caso do Ubuntu, por exemplo, o “gstreamer0.10-plugins-ugly” faz parte do repositório multiverse. Como de praxe, você precisa também do pacote “libdvdcss2” para assistir DVDs protegidos. Ela é uma biblioteca compartilhada entre todos os aplicativos.
Com o conjunto completo de plugins instalados, o Totem é um player bastante competente, que faz o trabalho sem precisar de muita atenção, uma combinação que costuma agradar ao público menos técnico. Naturalmente, muitos vão sentir falta de mais opções de personalização, um quesito em que o SMPlayer e o próprio gMplayer são bem superiores.
Dragon Player: O Dragon Player é o equivalente do Totem dentro do KDE 4, um player de interface bastante simples, que terceiriza o trabalho pesado para outros componentes do sistema.
Ele utiliza o Solid e o Phonon para acesso ao hardware (placa de vídeo, som, etc.) e para decodificação dos vídeos. Na maioria das distribuições, o Phonon é configurado para utilizar o GStreamer como backend, o que faz com que a compatibilidade com formatos seja muito similar à do Totem.
Kaffeine: O Kaffeine é o player de mídia default do KDE 3.5 e ainda utilizado em muitas distribuições. Ele é também capaz de exibir vídeos em diversos formatos, música, DVDs e até TV, caso você tenha uma placa de captura.
O Kaffeine faz parte da família de players baseados na libXine, uma biblioteca compartilhada por muitos programas. O primeiro foi o próprio Xine e em seguida vieram muitos outros, como o gXine e outros. Estes programas variam em recursos e opções de interface, mas o nível de compatibilidade com arquivos é basicamente o mesmo.
O principal atrativo do Kaffeine é o fato de oferecer uma interface bem construída, que permite acesso fácil às funções mais usadas mas, ao mesmo tempo, oferece acesso a um grande volume de configurações através do menu de preferências.
O grande problema é que ele foi escrito para rodar sobre o KDE 3.5, com o uso do Arts como servidor de som (ou acesso direto à placa de som através do Alsa) e outras peculiaridades do ambiente. Enquanto escrevo (abril de 2009), ele ainda não foi portado para o KDE 4, o que coloca em risco a continuidade do software, já que para usar a versão antiga sobre o KDE 4, é necessário instalar um grande volume de bibliotecas de compatibilidade. Uma opção nesse caso é utilizar o Xine original, que apesar da interface ultrapassada, oferece suporte aos mesmos formatos.
VLC: O VLC é outro player independente, que é capaz de exibir arquivos em diversos formatos. Ele foi também o primeiro player a oferecer suporte a DVDs protegidos no Linux. Assim como o Mplayer, algumas das bibliotecas utilizadas por ele possuem problemas relacionados à questão da distribuição, por isso ele fica disponível em muitas distribuições através de repositórios extras, como no caso do PLF, do Medibuntu e do RPM Fusion. Uma vez ativado o repositório, basta instalá-lo através do pacote “vlc”.
Apesar de estar caindo em popularidade devido à concorrência de outros players, ele oferece a vantagem de ser bastante leve, e ser por isso uma boa opção para uso em micros antigos ou em netbooks. Diferente do Totem e do Dragon Player, ele não utiliza bibliotecas do KDE nem do GNOME.
Ripar DVDs: Outra dúvida comum relacionada a aplicativos de vídeo é como ripar DVDs, o que com a falta crônica de tempo acaba sendo um problema comum, já que muitas vezes você aluga DVDs e não tem tempo de assistí-los.
A forma mais prática de ripar um DVD é simplesmente salvar todo o disco em um arquivo ISO, o que pode ser feito usando o dd:
# dd if=/dev/dvd of=filme.iso
No comando, o “/dev/dvd” é o dispositivo do drive (que dependendo da distribuição pode ser também “/dev/scd0”, “/dev/cdrom” ou “/dev/sr0”) e o “filme.iso” é o arquivo onde ele será salvo. Como o comando faz apenas uma cópia direta, é necessário ter bastante espaço livre na partição de destino. Um DVD de dupla camada, por exemplo, resultará em um arquivo de até 8.5 GB.
A vantagem, por outro lado, é que essa cópia simples é relativamente rápida (cerca de meia hora em um drive 4X). Para assistir o DVD posteriormente, basta montar o ISO em uma pasta, usando o mount, como em:
# mount -o loop filme.iso /mnt/cdrom
A partir daí, falta apenas abrir o player de vídeo e abrir o DVD a partir da pasta. No caso do VLC, você pode abrir diretamente pelo “Mídia > Abrir Disco” e no SMPlayer usando o “Abrir > DVD de um diretório”. É possível também assistir usando um netbook, desde que você consiga transferir o arquivo usando um compartilhamento de rede ou um pendrive.
O problema com o comando do dd é que ele não funciona com DVDs encriptados usando o CSS (o que exclui muitos títulos de estúdios norte-americanos). No caso deles, a melhor opção é fazer o processo normal de ripagem, convertendo o DVD em um arquivo .avi.
A opção mais simples nesse caso é usar o K9copy, um ripador bastante simples de usar. Para usá-lo, basta indicar o dispositivo do DVD e clicar no “Abrir” para que ele escaneie o conteúdo do disco. Depois de marcar os capítulos e as legendas que serão extraídas, basta usar o “Extract to MPEG files” para ripar.
Como de praxe, ele permite escolher os codecs de vídeo e áudio que serão usados, especificar o tamanho limite para os arquivos que serão gerados e assim por diante, basta definir as opções desejadas no “Configurar o K9copy”. Uma opção rápida e compatível é usar o “XviD” como codec de vídeo, com audio em MP3 e 720 de resolução horizontal (a resolução nativa do DVD). Se espaço não for problema, use um tamanho de arquivo grande (2 GB ou mais) e desmarque a opção “2 pass” (ela melhora a qualidade do arquivo gerado, mas em troca faz com que a ripagem demore o dobro do tempo). Como de praxe, ele precisa que o “libdvdcss2” esteja instalado para conseguir abrir DVDs protegidos.
Para quem quer um aplicativo com mais funções, a segunda opção seria o DVDrip, que é a opção mais antiga e tradicional.
Diferente do K9copy, onde você precisa instalar apenas o pacote de mesmo nome, o DVDrip possui uma lista relativamente longa de dependências (o DVDrip propriamente dito é apenas uma interface que reúne funções de diversos outros aplicativos). Para ter o conjunto completo, você deve instalar (além do pacote “dvdrip” propriamente dito e do “libsdvdcss2”), os pacotes “avifile-xvid-plugin”, “avifile-vorbis-plugin”, “avifile-mad-plugin”, “toolame”, “transcode” (este é um dos pacotes principais, permite converter vídeos em diversos formatos), “subtitleripper” (para extrair as legendas) e vcdimager (também opcional, necessário para criar VCDs).
Uma terceira opção é o Thoggen, um pequeno aplicativo do GNOME que permite ripar os DVDs, salvando os arquivos usando o Ogg Theora como codec (daí o nome). O Thoggen é extremamente simples de usar, o grande problema é que (pelo menos enquanto escrevo) ele ainda não possui suporte a legendas, o que faz com que ele deixe de ser uma opção para a maioria. É possível extrair as legendas manualmente usando o subtitleripper, mas nesse caso seria mais fácil mudar para o K9copy, que faz o serviço completo.
Concluindo, temos também o ancião Acidrip (também disponível em quase todas as distribuições) que se comporta como uma espécie de versão reduzida do DVDrip, oferecendo uma interface similar, mas com menos opções. A vantagem é que ele é fácil de usar e oferece o tão necessário suporte a legendas.