domingo, 3 de maio de 2015

Aventuras no Debian 8 (II)

Multimídia

Eu erroneamente pensava que o Debian adotava a mesma prática do Ubuntu com relação aos pacotes do Libav, suas bibliotecas, e demais aplicativos multimídia em geral. O Ubuntu compila tais programas com os encoders que implementam codecs cobertos por patentes desativados. Com isso, tentam esquivar-se da MPEG-LA, pois não distribuem binários que geram fluxos de áudio/vídeo com eles. Contudo, não é o suficiente. As patentes cobrem tudo, inclusive os decoders. Se algum dia os detentores das patentes quiserem ir atrás, eles podem e ganharão. Os pacotes não castrados, contendo os encoders, são mantidos no repositório universe, que não é suportado pela Canonical.

[Atualização] Na verdade, o Ubuntu compila os pacotes com os encoders habilitados. Só coloca-os no repositório universe para fins jurídicos/burocráticos, acredito. Pois esse repositório é "não suportado" pela empresa. Não que isso signifique grande coisa.

Dando uma olhada com calma no Debian, vi que segue a mesma fórmula! Todos os pacotes oficiais habilitam os encoders também. Out-of-box. O repositório Deb Multimedia é até considerado hostil pelo time oficial que empacota os programas multimídia. Alegam falta de colaboração e baixa qualidade, que levaria a quebradeiras frequentes. Já que os pacotes oficias vêm completos, recomendo evitar repositórios adicionais quando possível.

É um diferencial do Debian e Ubuntu. O Fedora não empacota absolutamente nada que tenha problemas com patentes e o openSUSE castra os pacotes, deixando as partes faltantes na mão de terceiros.

Na minha instalação só precisei instalar o VLC. Decodificação de H.264 por hardware funciona em hardware Intel configurando em "Preferências → Entrada / Codificadores → Hardware-accelerated decoding" (igual ao openSUSE) — i965-va-driver já vem instalado. Instalei gstreamer1.0-vaapi, mas não sei se os programas que usam o GStreamer automaticamente aproveitam. Sinto falta do ffmpeg (ver abaixo). Por enquanto, vou aturando o avconv (pacote libav-tools).

A questão FFmpeg x Libav

O projeto Libav é um fork do FFmpeg. Um grupo de desenvolvedores estava insatisfeito com a liderança de Michael Niedermayer e resolveu dar um golpe, assumindo o controle na marra. Só que eles não contavam que o dono do domínio ffmpeg.org não compactuaria com o golpe e devolveria o controle ao Michael. Naquele momento, não tiveram alternativa a não ser criar o fork. Como um dos golpistas era o mantenedor do FFmpeg no Debian, foi, junto com seu irmão Ubuntu, uma das únicas distribuições a adotarem (no ciclo do Wheezy) o Libav no lugar do FFmpeg (outra parece ter sido o Gentoo). Todas as demais grandes distros, Fedora, openSUSE, Arch, Mageia, etc, continuaram com o FFmpeg. Os golpistas alegam que precisaram intervir para Michael não destruir o projeto. Não duvido. Inaceitável foi a forma como foi feita. Hoje, o FFmpeg é um projeto mais dinâmico, com mais recursos e com melhor trato em relação aos bugs de segurança.

Histórico do golpe/fork: http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html

O movimento para colocar o FFmpeg de volta no Debian teve resultado. Já faz parte do repositório unstable. Infelizmente não entrou a tempo de fazer parte do Debian 8, o atual stable. Os nomes das bibliotecas são diferentes para ser possível ambos serem instalados lado a lado. Libav continua, entretanto, sendo a implementação oficial. Já é alguma coisa pelo menos, visto que programas que não funcionam com o Libav terão a opção de linkar as bibliotecas o FFmpeg e os usuários poderão ter a ferramenta de linha de comando ffmpeg, que hilariamente foi declarada obsoleta pelo pessoal do Libav, sem precisar recorrer a repositórios separados. Agora precisamos lutar para o FFmpeg ser a implementação oficial no Debian 9. Andreas Cadhalpun, que assumiu o pacote, está trabalhando nisso e tem meu apoio.

Nenhum comentário:

Postar um comentário