Um codec é um dispositivo ou programa de computador que tem a capacidade de codificar ou decodificar sinais ou fluxos de dados digitais.
A palavra codec é um portmanteau para (em inglês) “compressor-decompressor”.
Como um programa, um codec não deve ser confundido com um código, um formato de compressão ou um padrão.
Tecnicamente, um codec é um programa capaz de ler e alterar estes tipos de arquivos.
No dia a dia, contudo, nos referimos aos “codecs” como formatos de arquivos.
A instalação dos codecs
Muitos codecs são distribuídos envoltos em patentes ou licenças restritivas.
Por isto é que o Ubuntu, o Debian e vários outros sistemas operacionais, na instalação padrão, vêm sem estes itens.
O Debian é distribuído em várias versões e sabores.
A versão oficial do Debian Stable, contudo, só contém software livre.
Ainda assim, codecs para reprodução e gravação de MP3, AAC e H264 estão disponíveis em bibliotecas, tais como a libav e ffmpeg.
Ou seja, se você instalar players de áudio/vídeo como o Mplayer e o VLC, os codecs serão automaticamente baixados e instalados.
Resumindo, ao instalar um programa de reprodução de arquivos multimídia, a partir dos repositórios do Debian, diversos codecs serão instalados automaticamente, na medida em que forem requeridos pelo programa, cuja instalação você requisitou.
Qualquer codec que você for precisar, provavelmente já terá sido instalado pelo seu player favorito.
Se, ainda assim, houver algum que você precise e não esteja disponibilizado pelo seu media player, é possível instalar alguns pacotes extra, conforme é explicado, a seguir.
As instruções foram testadas em um sistema Debian 9 Testing (Stretch) e consistem na instalação da libavcodec-extra, uma biblioteca alternativa ao libav/ffmpeg, a que nos referimos anteriormente.
Os pacotes de codecs extra são os seguintes:
- OpenCORE Adaptive Multi-Rate (AMR) Narrow-Band (AMRNB Encoder/Decoder)
- OpenCORE Adaptive Multi-Rate (AMR) Wide-Band (AMRWB Decoder)
- Android VisualOn AAC (AAC Encoder)
- Android VisualOn Adaptive Multi-Rate (AMR) Wide-Band (AMRWB Encoder)
Você pode obter mais informações sobre o pacote, usando o comando ‘apt show’. Veja um exemplo:
apt show libavcodec-extra
Observe, na descrição abaixo, o pacote contém as bibliotecas do FFmpeg somado a outros codecs — o que dá suporte “aos formatos dos mais antigos e obscuros aos mais atuais”.
Package: libavcodec-extra Version: 7:3.1.3-1 Priority: extra Section: libs Source: ffmpeg Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org> Installed-Size: 75,8 kB Depends: libavcodec-extra57 Homepage: https://ffmpeg.org/ Tag: role::shared-lib Download-Size: 42,1 kB APT-Sources: http://ftp.br.debian.org/debian stretch/main amd64 Packages Description: FFmpeg library with extra codecs (metapackage) FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. . This metapackage depends on the latest version of the libavcodec variant that offers additional codec support. Application packages can depend on it if they require or suggest this variant in a robust manner.
Use o apt para instalar o pacote:
apt-get install libavcodec-extra
Saiba por que não se deve instalar pacotes de codecs de terceiros
A documentação oficial do Debian não recomenda o uso destes pacotes. Use-os por sua própria conta e risco.
Você pode acabar com um sistema quebrado e o uso deste método é fortemente desencorajado pelo time de desenvolvedores do Debian.
A documentação oficial (link no final), elenca ainda mais motivos para evitar estes pacotes.
O conteúdo destes repositórios não passa por testes tão intensos quanto o que se encontra no arquivo oficial Debian.
Pacotes de terceiros podem ter os seguintes problemas (entre outros):
- Conflitos entre os pacotes de terceiros e os pacotes dos repositórios oficiais.
- Atualizações mal feitas entre uma versão do Debian e outra.
- Você pode ter dificuldades para remover pacotes de terceiros, após a sua instalação.
- Durante a remoção, pacotes não relacionados e importantes para o funcionamento de outros aplicativos podem ser removidos acidentalmente.
- Pacotes de terceiros frequentemente sobrepõem ou ignoram as configurações locais do seu sistema.
Portanto, se não sabe o que está fazendo, não prossiga.
Você foi avisado.
Ainda assim, sabemos que alguns codecs só podem mesmo ser encontrados em repositórios de terceiros — e pode haver variadas razões para não terem sido incluídos no Debian.
Problemas de licenciamento são os obstáculos mais comuns para a sua inclusão.
Como instalar pacotes de codecs de terceiros no Debian
Há, pelo menos um item extra disponível para as arquiteturas amd64 e i386 que não é disponibilizado no repositório Debian.
Para a arquitetura amd64, o pacote é o w64codecs. Para o i386, é o w32codecs.
Este pacote oferece suporte a poucos e raros codecs, usados unicamente pelo xine e o Mplayer.
Se você usa nenhum destes dois players, então você definitivamente não precisa destes itens.
Uma das formas de obtê-los é configurar o sources.list para buscar softwares no repositório deb-multimedia.org
.
Muitos usuários têm reclamado de problemas ao instalá-lo por este método.
O método recomendado de instalação é através do download específico do pacote que contém o codec desejado.
Segue o procedimento para baixar e instalar na arquitetura de 64 bits:
wget http://www.deb-multimedia.org/pool/non-free/w/w64codecs/w64codecs_20071007-dmo2_amd64.deb dpkg -i w64codecs_20071007-dmo2_amd64.deb
… ou na arquitetura de 32 bits:
wget http://www.deb-multimedia.org/pool/non-free/w/w32codecs/w32codecs_20110131-dmo2_i386.deb dpkg -i w32codecs_20110131-dmo2_i386.deb
Não esqueça que o procedimento acima pede privilégios administrativos.
One reply on “Como instalar codecs no Debian”
Olá, Elias!
Migrei para o Debian Testing, de vez, e estava tendo problemas ao executar alguns tipos de arquivos (.mp4 e .3gp) no VLC.
Em ambos os casos a tela ficava preta e saía apenas o áudio.
Pensei que pudesse ser falta de codecs porque no Ubuntu eu utilizava o “Ubuntu Restricted Extras”.
Instalei o libavcodec-extra conforme você explica e não resolveu…
Mais umas buscas e encontrei uma solução.
Basta ir até o menu Ferramentas > Preferências > Vídeo e selecionar a opção de Saída “Saída de vídeo do X11 (XCB)”. Fechar e abrir o VLC e então a imagem dos vídeos aparece.
Valeu!