Entendendo os codecs, os containers formats e por que o Ogg é tão bom

Este artigo explica o que são e como funcionam os codecs, os formatos recipientes (conhecidos também como container formats) e os ótimos recursos do Ogg. Tudo com ótimos exemplos e ilustrações.

[ Hits: 30.713 ]

Por: Vinícius dos Santos Oliveira em 18/07/2009 | Blog: https://vinipsmaker.github.io/


O Ogg



O Ogg é um formato recipiente com intervalos que possui muitos recursos. Ele foi desenvolvido pelo Xiph.org, que, além do Ogg, desenvolveu o Vorbis (melhor codec de áudio existente), o Speex (ótimo codec para compressão de voz humana), CELT, Theora e outros recursos. Toda a tecnologia da Xiph.org é livre de patentes e tem uma biblioteca de referência open-source sob uma licença BSD. Um dos recursos que o Ogg possui é o Ogg Skeleton. O Ogg Skeleton fornece informações para arquivos Ogg multi-faixas.

Com o Ogg Skeleton, você pode, por exemplo, reproduzir duas faixas de vídeo (com uma delas sendo semi-transparente e sendo aplicada por cima da outra faixa de vídeo), reproduzir a trilha sonora codificada em Vorbis e sendo misturada com outras faixas de áudio que estão codificadas com outros codecs e, fornecem, as vozes (cada canal codificado em Speex e fornecendo um idioma diferente) e os efeitos sonoros (codificado em FLAC), tudo isso contido no mesmo arquivo Ogg. Qual a razão de utilizar diferentes codecs para cada canal de áudio? Há vários tipos de codec e com isso você pode conseguir uma qualidade e compressão melhor.

Outra vantagem do Ogg é que ele é desenvolvido ativamente (tente descobrir qual foi a última atualização feita no Matroska) e por pessoas (na maior parte do tempo só o Monty trabalha) especializadas em multimídia. A Xiph.org, além do Ogg, desenvolve:

CODECs sem compressão:
  • OggPCM: Codec para áudio que ainda está na fase experimental, mas etá perto de sair da fase rascunho e passar a ser um padrão ISO.
  • OggUVS: Codec para vídeo na fase experimental. Ainda está nos primeiros estágios de desenvolvimento e faltam pessoas para que possam trabalhar nele, então é provável que ele só seja desenvolvido depois que outras prioridades da Xiph.org sejam finalizadas (aperfeiçoar o codec Theora, terminar o codec CELT, aperfeiçoar o codec Speex, desenvolver o TheoraII, entre outros).

CODECs com compressão sem perdas (de informações):
  • FLAC: Codec de áudio que é muito bom. Tem poucos concorrentes também.

CODECs com compressão com perdas:
  • Vorbis: Simplesmente o melhor codec para compressão com perda de informações de áudio. Existe há muito tempo e tem toneladas de vantagens sobre o mp3, mas incompreensivelmente o mp3 ainda o supera em popularidade.
  • Theora: Codec para compressão de vídeo que utiliza a técnica DCT (transformada discreta de cosseno) para comprimir os vídeos. A técnica DCT é a mesma utilizada para comprimir imagens JPEG, que são muito usadas e não há quase ninguém reclamando delas. Já existe uma técnica mais avançada introduzida no JPEG2000, mas quase ninguém usa esta nova técnica para imagens, porém, quando é nos codecs de vídeo, há várias pessoas incompreensíveis que endeusam o MPEG-4 e tratam o Theora como uma praga.
  • Speex: Codec feito especialmente para o registro da voz humana. Ele é perfeito para comunicação via Web (Ekiga, Skype, etc).
  • CELT: É um codec em fase experimental com desenvolvimento bastante ativo que foi feito para "preencher o espaço entre Vorbis e Speex". Como podem perceber, o Monty gosta de trabalhar em codecs de áudio.

Há muitas outras vantagens que o Ogg oferece e vocês podem descobrir navegando nas páginas da XiphWiki. As informações desta página do artigo foram tiradas de lá. Os mais curiosos que saibam inglês talvez queiram ir lá (um ponto de partida interessante é procurar lá por OggMNG).

Página anterior     Próxima página

Páginas do artigo
   1. Os codecs e o Container Format - a explicação
   2. O Ogg
   3. Conclusão
Outros artigos deste autor

VLC Media Player (parte 2)

Tratamento de exceções na linguagem C

VLC Media Player

História da informática: Um pouco de datas e especificações

Mupen64plus, o melhor emulador de Nintendo 64 disponível para GNU/Linux

Leitura recomendada

Virtualizando com VirtualBox

Usando G4U, ProFTP e DHCP para clonar partições pela rede

Bonding para Heartbeat + Bonding para DRBD + OCFS2 + Debian Squeeze

Jopen, não se preocupe mais em descobrir qual aplicativo usar

Asterisk e Asterisk GUI - Instalação e Configuração no Debian Squeeze

  
Comentários
[1] Comentário enviado por jairus em 18/07/2009 - 22:48h

Boa Noite !!!


Gostei muito das informações sobre o OGG, não sabia que ele tinha tantas qualidades.
Procurei salvar minhas músicas em ogg.


Jairus Lopes

[2] Comentário enviado por vinipsmaker em 19/07/2009 - 14:46h

Esqueci de informar sobre especificação e implementação. A especificação são as regras que podem ser usadas para codificar a faixa (vídeo, áudio ou qualquer outra coisa válida) e uma recomendação de como decodificá-la (alguém pode ter uma idéia interessante de como melhorar a qualidade usando um modo de decodificação diferente). E implementação é o resultado do trabalho do programador. Então, há a implementação oficial do vorbis e há uma outra implementação chamada aoTuV, cujo objetivo é aumentar a qualidade a baixas taxas de bits (bitrate), onde o tamanho do arquivo é menor. O vorbis é o melhor na especificação e sua implementação é muito proveitosa (a versão 1.3.0 vai implementar alguns aperfeiçoamentos do aoTuV, sendo que a versão atual já é bem interessante).

Outro link interessante que esqueci de colocar:
http://www.hydrogenaudio.org/forums/

Mais uma coisa, na segunda página eu informei que eu tinha conseguido aquelas informações através da XiphWiki, mas vamos considerar que metade daquela informação foi conseguida da página XiphWiki.

Por último, apesar de o Theora ainda não bater o MPEG-4, há o Dirac, codec com especificação incrível que se tivesse uma ótima implementação seria incrível para uso em qualquer situação. O Dirac não tem formato recipiente oficial, mas os seus desenvolvedores escreveram um material de como utilizá-lo no Ogg e em alguns outros já existente. Se a BBC (desenvolveu o Dirac) trabalhasse junto com o Monty seria muito mais proveitoso.


E Jairus, o Ogg sempre foi bom e eu escrevi este artigo (até agora o primeiro que não ficou com nota 10) porque eu quero compartilhar esse conhecimento com vocês. Pois muitas pessoas que usam linux continuam "baixando um mp3zinho da net" (mas não só os linuxers que deveriam usar padrões abertos). Vou depois fazer um artigo sobre o gstreamer e uma comparação entre ele e o sistema de codecs do windows.


EDIT:
Eu falei no artigo que sou absecado por qualidade e as imagens estão em jpeg (um formato que estraga a qualidade da imagem). Para aqueles que não gostaram dos arquivos:

http://www.vivaolinux.com.br/imagens/artigos/comunidade/conforogg01.png
http://www.vivaolinux.com.br/imagens/artigos/comunidade/conforogg02.png
http://www.vivaolinux.com.br/imagens/artigos/comunidade/conforogg03.png

[3] Comentário enviado por vinipsmaker em 19/07/2009 - 15:29h

Encontrei um link interessante A POUCO e quero compartilhá-lo:
https://wiki.mozilla.org/Accessibility/Video_a11y_Study08

Nessa página pode-ser concluir que a Mozilla está trabalhando no Ogg e que em breve ele poderá ter um formato padrão de legendas (espero eu que seja o OggKate, pois o OggKate, também desenvolvido pela Xiph.org, permite o uso de texto ou imagens para a produção de legendas, além de outras características interessantes que aumentam a acessibilidade), um sistema de capítulos dvd-like (estilo aqueles usados em dvds), entre outros.

[4] Comentário enviado por xerxeslins em 19/07/2009 - 18:02h

Gostei muito das informações! Ótimo artigo.

[5] Comentário enviado por vinipsmaker em 19/07/2009 - 18:08h

Ei xerxeslins, resolveu o problema com o mupen?

[6] Comentário enviado por eduardo em 20/07/2009 - 08:17h

Muito bom, não conhecia tanto sobre codecs.

Abraços

[7] Comentário enviado por removido em 20/07/2009 - 09:43h

Bem explicativo

[8] Comentário enviado por vinipsmaker em 20/07/2009 - 14:06h

Eu já conhecia bastante os codecs (além de outras coisas), mas é difícil achar uma forma de explicá-los. Após esse tempo consegui descobrir uma forma de explicá-los, mas ainda acho que é possível encontrar um exemplo melhor para explicar a diferença entre especificação e implementação.

[9] Comentário enviado por superlinux-br em 20/07/2009 - 18:29h

Eu sempre fui fã dos formatos de audio de código aberto especialmente o ogg e ficava encafifado ao ver que o bitrate não era fixo e depois fui compreender essas caracteristicas, sempre passo meus cds de áudio primeiro para FLAC como medida de segurança e depois para OGG para poder apreciar ultimamente tenho usado o OGG em 5 ou 6 canais para usufruir do áudio dos dvds e a qualidade do som é exelente costumo
usar o dvdtoogg,xcfa e outros métodos em linha de comando tudo feito com software livre se ainda não ouviu OGG 5.1 aí vai o endereço do meu diretório virtual contendo meus arquivos OGG 5.1

http://www.4shared.com/dir/16488817/c835f157/musicas_em_56_canais_ogg-vorbis.html

as faixas foram extraidas em ac3-normalizadas convertidas para FLAC e OGG(q8) depois para baixar o tamanho do arquivo reconverti
para a taxa de (192kbps abr) com o SoundKonverter e alguns cortes foram feitos no Audacity.

e dale TUX!!!!

e fica meu diretório virtual a disposição!! com muiti mais!!

http://www.4shared.com/u/pgkkmzrg/cd63dbd1/superlinux-mg.html

[10] Comentário enviado por vinipsmaker em 20/07/2009 - 18:49h

Já que o artigo teve uma boa recepção talvez eu faça uma continuação explicando as técnicas de compressão mais a fundo.
Valeu pela ajuda de comparação, superlinux-br, gostei do avatar com o logo da Xiph.org na sua pasta virtual no 4shared.

[11] Comentário enviado por removido em 21/07/2009 - 09:21h

Gostei do artigo, parabéns!

[12] Comentário enviado por cesar em 21/07/2009 - 17:19h

Muito bom artigo,

Parabéns.

Obs.:Gostei dos desenhos =), hsuahsa

[]'s



[13] Comentário enviado por vinipsmaker em 21/07/2009 - 19:07h

Parece que o artigo está crescendo e o que seria considerado por alguns como "mais um artigo que diz que codecs são usados para visualizar vídeos" está tornando-se surpreendente.

Lá na wikipedia em inglês tem um artigo chamado "Container format (digital)" e surpreendi-me quando vi que havia um artigo para o mesmo assunto na wikipedia versão português - é só entrar em http://en.wikipedia.org/wiki/Container_format_%28digital%29 e clicar em português. Mas surpreendi-me mais ainda quando vi a tradução que o "gênio" deu para "container format". A tradução que o "gênio" deu foi "Arquivos de vídeo". Depois de ver esta "brilhante tradução" eu não me surpreendi com o pouco conteúdo e a falta de explicação.

Alguém podia ir lá na wikipedia em português e criar um novo artigo com o nome "Formato recipiente" ou "Arquivo recipiente (digital)" e preencher algumas coisas baseadas no meu artigo? Depois digam qual o link comentando neste artigo e eu completo lá o que tiver faltando.

[14] Comentário enviado por vinipsmaker em 26/07/2009 - 20:17h

Criei a página na wikipedia, quem quiser ajudar:
http://pt.wikipedia.org/wiki/Arquivo_recipiente

[15] Comentário enviado por marcio_paim em 15/02/2012 - 10:08h

Artigo com informação bastante útil e bem explicada.

[16] Comentário enviado por flcoelho em 12/01/2013 - 12:33h

Muito bom o artigo, vinipsmaker! Esclarecedor!

[17] Comentário enviado por vinipsmaker em 12/01/2013 - 12:38h

flcoelho:
Valeu
^^

[18] Comentário enviado por Macunaima em 07/08/2016 - 00:59h

Ótimo artigo. Muito bom mesmo!
Pessoas como vc é que fazem diferença na sociedade. Obrigado por este trabalho; foi muito útil para mim, que sou leigo no assunto.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts