Conversão simples de vídeos com o Transmageddon e o Arista
Artigos
O Transmageddon de Christian Schaller e o Arista de Daniel Taylor são
duas ferramentas fáceis de usar para conversão de vídeos no GNOME, mas
elas têm mais em comum do que apenas a visão de uma maneira simples de
converter arquivos. Em vez de competir um com o outro (ou de unir os
dois projetos), os dois desenvolvedores estão colaborando no meio do
caminho: eles compartilham informações e usam os objetivos parecidos
de seus projetos para fortalecer o framework multimídia GStreamer, do
qual as duas bases de código dependem.Nathan Willis
01/06/2009
Transmageddon and Arista pursue simple transcoding
Autor original: Nathan Willis
Publicado originalmente no: lwn.net
Tradução: Roberto Bechtlufft
O Transmageddon de Christian Schaller e o Arista de Daniel Taylor são
duas ferramentas fáceis de usar para conversão de vídeos no GNOME, mas
elas têm mais em comum do que apenas a visão de uma maneira simples de
converter arquivos. Em vez de competir um com o outro (ou de unir os
dois projetos), os dois desenvolvedores estão colaborando no meio do
caminho: eles compartilham informações e usam os objetivos parecidos
de seus projetos para fortalecer o framework multimídia GStreamer, do
qual as duas bases de código dependem.
Schaller já contribui para o GStreamer há tempos; ele começou o
Transmageddon em março de 2009 por vários motivos. Em primeiro lugar,
como um exercício pessoal de desenvolvimento em Python, mas também
como uma tentativa de encontrar áreas que pudessem ser aperfeiçoadas
por desenvolvedores de aplicativos que usem o GStreamer, e para acabar
com algo que o incomodava: a falta de um conversor de vídeo fácil de
usar baseado no GStreamer. Taylor também se sentia incomodado com esse
vazio, e isso o levou a começar seu trabalho com o Arista. O programa
era apenas um projeto pessoal em 2008 e teve sua primeira versão
pública em abril de 2009. Taylor descobriu o Transmageddon pelo blog
de Schaller, e os dois começaram a discutir sobre qual seria a melhor
maneira de ir adiante.
Motivos não faltam...
O fato de dois desenvolvedores terem decidido, independente um do
outro, escrever aplicativos com interfaces gráficas simples para a
conversão de vídeos não é tão surpreendente assim. A demanda por
conversão de vídeos aumenta conforme os dispositivos portáteis com
hardware compatível vão surgindo e a distribuição de conteúdo digital
dispara. Codificadores de linha de comando, como o FFmpeg e o MEncoder
podem cuidar de quase todos os tipos de conversão, mas exigem que o
usuário saiba exatamente quais opções ativar e, na maioria dos casos,
exigem que cada opção do codec seja especificada, do contrário a
conversão não funciona. Isso leva a comandos obtusos (e extremamente
longos) difíceis de memorizar e ainda mais difíceis de depurar. Vários
aplicativos gráficos de conversão apareceram nos desktops Linux nos
últimos anos — Thoggen, OGMRip, K9Copy, AcidRip, dvd::rip, HandBrake e
WinFF, só para citar alguns — mas como Taylor e Schaller observam,
todos eles têm os seus problemas.
arista_sm
Alguns, como o Thoggen, o OGMRip e o Oggconvert estão limitados a
codecs específicos de saída. Outros, como o dvd::rip, tentam oferecer
todas as opções possíveis, tornando-se muito difíceis para o usuário
casual. "Há dúzias de interfaces gráficas que constituem basicamente
as mesmas opções confusas, só que com uma roupagem gráfica agradável.
Para mim, isso não ajuda em nada", observa Taylor. "A ideia do Arista
não é a de agradar a todos os públicos, mas sim a de ser uma maneira
simples de converter mídia para vários dispositivos. É isso."
Além disso, muitos dos conversores atuais são interfaces isoladas que
não oferecem muita integração com o desktop. "A maioria das interfaces
gráficas que eu conheço usam o FFmpeg (libavformat, libavcodec etc)
diretamente", conta Taylor. "Eu quero usar as tecnologias do GNOME
para fazer um aplicativo que seja realmente do GNOME, o que significa
que estou usando GTK+, GStreamer, Gconf, GIO etc. O Arista tem que ser
parte do desktop." Taylor disse ter alguns recursos em mente para as
próximas versões (como suporte a legendas e menus de DVD), mas espera
acrescentar uma interface para o D-Bus que permitirá que outros
aplicativos controlem o Arista.
Para Schaller, fazer uma interface gráfica para conversão de vídeo
também é uma maneira de testar o GStreamer. Ele mencionou a
possibilidade em um post de 2008, especulando que um aplicativo de
escala tão pequena teria mais utilidade para "testar e garantir que os
muxers e codificadores continuam funcionando" do que uma ferramenta
mais complexa como um reprodutor ou um editor de vídeo. Até agora, diz
ele, alguns bugs foram descobertos, mas os benefícios mais importantes
são os testes de recursos do GStreamer que não haviam sido usados
antes, como as predefinições de propriedades, que permitem aos
aplicativos definir grupos de configurações individuais para cada
codificador pelo nome (seja para perfis de codecs, como H.264 básico,
ou para dispositivos de hardware específicos).
Os benefícios vão além do código existente, chegando a outros
aplicativos, como explica Schaller:
Outra parte do que estamos fazendo é tentar entender que tipos de APIs
de alto nível para codificação e conversão podem ser úteis para os
desenvolvedores de aplicativos. ... Um dos objetivos do GStreamer é
facilitar ao máximo as coisas para os desenvolvedores, portanto
empacotar alguns passos que estamos dando em nossos aplicativos em
APIs de auxílio em C provavelmente é uma boa ideia.
Colaboração e divergência
Depois que Schaller e Taylor estabeleceram contato, eles decidiram
manter uma comunicação constante e compartilhar código sempre que
possível, mas levando seus aplicativos em rumos levemente diferentes.
Taylor prefere uma abordagem mais conservadora e voltada para o
usuário, certificando-se de que o Arista sempre possa rodar na versão
atual do Ubuntu. Já Schaller prefere acompanhar mais de perto o
desenvolvimento do GStreamer, apoiando-se em recursos dele que ainda
não estejam disponíveis nas distribuições. Dessa maneira, sempre
haverá o conversor Arista disponível, podendo ser usado por usuários
não técnicos, enquanto o Transmageddon pode servir de laboratório para
novos recursos.
transmageddon_sm
A colaboração entre os dois projetos já está rendendo bons frutos.
Schaller diz ter incorporado o suporte a predefinições do Arista ao
Transmageddon e está levando o recurso além usando algumas alterações
novíssimas da versão de desenvolvimento do GStreamer. Assim que as
distribuições Linux começarem a distribuir a próxima atualização do
GStreamer, o plano é incorporar o suporte melhorado às predefinições
do Transmageddon de volta no Arista.
Os projetos também estão ajudando o GStreamer. Eles também estão
acumulando uma coleção de predefinições que serão valiosas para outros
aplicativos, descobriram bugs no sistema de capacidades e mostraram
que o GStreamer precisa de um codificador e de um decodificador
melhores para o formato de áudio AMR (Adaptative Multi-Rate).
Schaller disse que também pretende transformar as notas que vem
tomando durante o processo de desenvolvimento em um guia para os
interessados:
Decidi tentar usar minha experiência com o Transmageddon para escrever
uma série de tutoriais para o desenvolvimento de aplicativos em Python
com o GStreamer. Acho que aplicativos como o PiTiVi, o Jokosher, o
Arista e o Transmageddon são a prova de que é possível desenvolver
aplicativos bastante complexos facilmente usando Python, nós só
precisamos de mais tutoriais básicos que sirvam como o ponto de
entrada de que os desenvolvedores do Python precisam para começar a
mexer com o GStreamer.
Test drive
Os dois aplicativos já podem ser baixados, usados e comparados. O
Transmageddon está disponível no site de Schaller em um pacote com o
código fonte e em formato RPM. A versão mais recente é a 0.10, de 20
de maio de 2009. Só que ela precisa do Python e da versão de
desenvolvimento do GStreamer, o que a põe fora do alcance da maioria
dos usuários.
O Arista está disponível para download no site Launchpad do projeto. A
versão mais recente é a 0.9.1, de 3 de maio. Um pacote com o código
fonte é oferecido, bem como uma versão para o AUR (o repositório da
comunidade de usuários do ArchLinux). Quem estiver rodando o Ubuntu
9.04 pode adicionar o PPA de Taylor à lista de repositórios do APT e
instalar o aplicativo pelo gerenciador de pacotes. A versão 0.9.1
também precisa do Python e da versão 0.10 do GStreamer, que pode ser
encontrada facilmente em muitas distros.
O Arista permite ao usuário escolher como origem arquivos de vídeo de
qualquer codificação e tipo que possa ser lido pelo GStreamer
(incluindo conteúdo de DVD) e escolher um formato de saída — incluindo
predefinições configuradas para uma vasta gama de dispositivos de
hardware portáteis. Além disso, a interface não traz muito além de uma
barra de progresso estimando o tempo restante para o trabalho de
conversão e de uma janela para visualização a dois quadros por
segundo, útil para monitorar a saída.
Outros conversores oferecem muito mais opções, mas são bem mais
complexos. Na maioria das vezes, os usuários precisam conhecer os
codecs de áudio e vídeo, a altura e a largura de saída, a taxa de
quadros ou a taxa de bits e muitas outras opções. O Arista e o
Transmageddon simplificam dramaticamente o processo abstraindo todos
esses detalhes usando as predefinições dos dispositivos — as
configurações corretas estão presentes, mas a confusão e as chances de
erro humano não. Vai ser interessante acompanhar a evolução desses
projetos nos próximos meses; a ideia de um conversor de vídeo fácil de
usar é atraente, mas o que pode acontecer quando essa funcionalidade
for disponibilizada a outros aplicativos pelo D-BUS é ainda mais
atraente.
Créditos a Nathan Willis - lwn.net
Tradução por Roberto Bechtlufft <robertobech at gmail.com>
--
Atenciosamente,
Marcelo Farias
Diga NÃO à pirataria, use SOFTWARE LIVRE. :)
"Todos são iguais quando são livres."
(Marilena Chauí)