Codecs, Conteiners e Extensão de Arquivos

Para trabalhar com vídeos é necessário compreender a diferença entre extensão de arquivo, conteiner e codecs, de forma resumida pode-se dizer:
- Extensão do arquivo: corresponde ao tipo do arquivo que foi gravado.
- Conteiner: corresponder a forma de compactação do arquivo de vídeo.
- Codecs: corresponde ao tipo de transmissão do vídeo.
Exemplo:
Ao converte uma arquivo.flv para arquivo.mp4 além do tipo a ser escolhido (MP4) deve-se escolher qual o código do vídeo, MPEG4 (DivX) ou AVC (H264) ou ainda HEVC (H265).

Codec, Containers and File Extensions Support:
Container formats Codec formats File Extensions
Ogg
WebM
WAV
MP4 (QuickTime/ MOV / MPEG4)
Audio
FLAC
Opus
PCM 8-bit unsigned integer
PCM 16-bit signed integer little endian
PCM 32-bit float little endian
Vorbis
MP3 [Google Chrome only]
AAC [Google Chrome only]
AMR-NB [Google Chrome OS only]
AMR-WB [Google Chrome OS only]
PCM μ-law [Google Chrome OS only]
GSM [Google Chrome OS Only]

Video
VP8
VP9
Theora [Except on Android variants]
H.264 [Google Chrome only]
MPEG-4 [Google Chrome OS only]
.flac
.ogv
.ogm
.ogg
.oga
.opus
.webm
.wav
.mp4 [Google Chrome only]
.m4v [Google Chrome only]
.m4a [Google Chrome only]
.mp3 [Google Chrome only]
.amr [Google Chrome OS only]
.avi [Google Chrome OS only]
.3gp [Google Chrome OS only]

Antes de fazer uma gravação de vídeo ou a inclusão de vídeo em uma página da internet é necessário configurar o aplicativo que vai fazer essa gravação, caso não tenha os recursos desejado será necessário utilizar um conversor de vídeo com essa finalidade. Antes de usar uma arquivo de vídeo é necessário saber o que é extensão de arquivo, conteiner e codecs de vídeo e áudio.
Ao fazer uma gravação de vídeo é necessário instalar um player no computador que forneça uma opção de gravação de arquivo desejado, portanto começa-se com a escolhar do player de gravação que tenha o tipo desejado.

Cada tipo de arquivo tem uma finalidade diferente, pode ser para  reproduzido o vídeo em um CD, reproduzir o vídeo no próprio player instalado no computador, reproduzir o vídeo em  um celular ou outro dispostivo móvel, reproduzir o vídeo diretamente em um navegado, ou ainda reproduzir o vídeo em um player implementado em uma página de internet.
Geralmente cada programa que grava vídeos fornece opções de gravação para a sua marca ou fabricante, isso se deve a concorrência. Caso o programa utilizado para a gravação de vídeo não forneça as configurações de gravação desejada é necessário instalar no computador um conversor de vídeo que converta um tipo de arquivo, conteiner e codecs desejado.
Os players são aplicativo ou programas que foram feitos para um determinada extensão, conteiner e codecs.
Todos os arquivo possuem um extensão após o seu nome, a extensão é formada por um ponto e mais três letras, nome.ext, ao fazer uma gravação de vídeo devemos escolher onde irá ser reprodizido, ou seja, onde será executado, cada player que executa um arquivo de vídeo é compatível uma determinada extensão de arquivo, com uma compactação de vídeo ou conteiner e um condecs específico. Nem sempre a mesma extensão de arquivo corresponde com o mesmo conteiner, o que pode gerar dúvidas, na maioria das vezes ambos tem as mesma três letra.

Para exibir vídeos na internet pode-se usar o player do próprio navegador ou instalar um player (plugin) imbutido na própria página. Cada player utiliza um arquivo com extensão, conteiner e codecs próprio.

Portanto, um arquivo de vídeo para ser reproduzido, ou seja, ouvido pelo usuário, deve ser gravado com um tipo de extensão, um tipo de  compactação ou conteiner e tipo de codecs  suportado pelo player.

Um erro comum ao converter um arquivo para o tipo mp4 é não especificar o conteiner e o codecs,

Codificador
Um codec é um codificador/decodificador implementado via hardware ou software. Os dispositivos interpretam sinais digitais e, no caso dos vídeos, realizam a compressão ou descompressão dos arquivos de vídeo nos mais variados formatos.
Basicamente, para que um vídeo rode em um dispositivo (computador, tablet, smartphone, etc.), é preciso que um codec (ou conjunto de codecs) "interprete" o vídeo no dispositivo. Dessa forma, cada formato de arquivo de vídeo (AVI, WMV, FLV etc) utiliza um conjunto de codecs específicos para realizar sua compressão e/ou descompressão.

Formatos de Arquivos de Vídeo
WMV é a sigla para Windows Media Video. Este formato foi desenvolvido pela Microsoft e faz parte dos arquivos multimídia da empresa, assim como os arquivos de áudio com extensão WMA (Windows Media Audio). A vantagem deste formato está no fato de já acompanhar o Windows por padrão, ou seja, não é necessário instalar nenhum programa ou pacote de codecs adicionais. O próprio player da Microsoft, o Windows Media Player, reconhece automaticamente este formato.
AVI é a sigla para Audio Video Interleave. Este formato, desenvolvido pela Microsoft, serve como contêiner para faixas de vídeo e áudio. Ou seja, um arquivo AVI contém tanto um arquivo de áudio quanto um arquivo de vídeo, ambos encapsulados, de forma que, quando o arquivo é reproduzido, as faixas de áudio e vídeo são executadas de forma sincronizada. Assim como o WMV, o formato AVI costuma ser compatível nativamente com as versões do Windows, exceto quando a compressão dos arquivos de áudio e/ou vídeo utilizam um codec específico. A vantagem deste formato está no fato de ser reconhecido por aparelhos de DVD e Blu-Ray que são compatíveis com o codec DivX.
FLV é um formato de arquivo de vídeo desenvolvido pela Macromedia, empresa que foi adquirida pela Adobe. O objetivo, neste caso, é utilizar um formato de vídeo acessível pela internet, utilizando o Adobe Flash Player. O Flash Player é uma aplicação disponível para a maioria dos navegadores web, como Internet Explorer, Google Chrome, Mozilla Firefox,  Safari etc. A vantagem do formato FLV está no tamanho reduzido dos arquivos, o que, em alguns casos, pode diminuir a qualidade do vídeo.
MOV é um formato de arquivo de vídeo criado pela Apple, sendo utilizado no software QuickTime (também disponível para Windows). Este formato, basicamente, agrega sequências de vídeo produzidas no QuickTime utilizando codecs específicos desenvolvidos pela própria Apple. Sua vantagem é a compatibilidade com o iPod, a Apple TV, o iPhone e o iPad. Além disso, o formato MOV pode ser utilizado para streaming de vídeo.
RMVB é a sigla para Real Media Variable Bitrate. Este formato foi desenvolvido pela RealNetworks. A ideia deste formato é variar a taxa de dados de acordo com complexidade das imagens em cada quadro do vídeo, ao contrário do formato RM, que apresenta taxa constante. A grande vantagem deste formato é o tamanho reduzido dos arquivos, graças ao nível de compressão utilizado pelos codecs. Um arquivo RMVB costuma ter, aproximadamente, metade do tamanho de um arquivo AVI, sem que a qualidade do vídeo seja muito comprometida. Normalmente, utiliza-se o RealPlayer para a execução desse formato.
MPEG é a sigla para Moving Picture Experts Group. Este formato foi definido pela ISO com a finalidade de padronizar a compressão e a transmissão de áudio e vídeo. Um arquivo MPEG contém áudio e vídeo digitais codificados conforme os padrões indicados pelo comitê ISO. Dentro desse formato existem os padrões MPEG-1 (utilizado para VCD), MPEG-2 (utilizado em DVD) e MPEG-4.
MKV é um formato de vídeo criado pela Matroska Association. Neste formato, as trilhas de áudio, vídeo e legendas são encapsuladas em um único contêiner, suportando diversos formatos. Além disso, os arquivos podem ter anexos como JPEGs, letras de músicas, filtros decodificadores etc. O MKV costuma ser utilizado para vídeos de alta resolução, entretanto, normalmente é necessário utilizar um programa específico e/ou um pacote de codecs compatíveis com o formato.

O WebM é uma tecnologia de código aberto que trabalha com padrões abertos de multimídia: estrutura baseada no container Matroska, codec de vídeo VP8 (também desenvolvido pela Google) e o fluxo de áudio Vorbis. Assim, a tecnologia pode ser modificada, aplicada e redistribuída gratuitamente por quem mais quiser abraçar a ideia, e alguns sites e navegadores já têm feito isso.

Formato de Conteiner
Existem vários formatos para embalagens de vídeo. Os mais populares incluem:

MPEG 4, usualmente com a extensão .mp4 ou .m4v. A embalagem MPEG 4 é baseada na antiga embalagem QuickTime da Apple (.mov). Trailers de filmes no site da Apple ainda utilizam a antiga embalagem QuickTime, mas filmes que você aluga no iTunes são entregues na embalagem MPEG 4.
Flash, usualmente com a extensão .flv. Vídeos em Flash são, sem surpresa, usados pelo Adobe Flash. Antes do Flash 9.0.60.184 (a.k.a. Flash Player 9 Update 3), esse era o único formato de embalagem que o Flash suportava. Versões mais recentes do Flash também suportam a embalagem MPEG 4.
Ogg, usualmente com a extensão .ogv. Ogg é um padrão aberto, de código livre, e descoberto de quaisquer patentes conhecidas. Firefox 3.5, Chrome 4, e Opera 10.5 suportam — nativamente, sem qualquer plataforma específica de plugins — o formato de embalagem Ogg, Ogg vídeo (chamado “Theora”), e Ogg áudio (chamado “Vorbis”). No desktop, Ogg é suportado fora-da-caixa por todas as principais distribuições Linux, e você pode usá-lo no Mac e Windows ao instalar os componentes QuickTime ou filtros DirectShow, respectivamente. É ainda executado pelo excelente VLC em todas as plataformas.
WebM é um novo formato de embalagem. É tecnicamente similar a outro formato, chamado Matroska. WebM foi anunciado em Maio de 2010. Foi projetado para ser usado exclusivamente com o codec de vídeo VP8 e pelo codec de áudio Vorbis. É formato nativamente, sem qualquer plataforma específica de plugins, nas últimas versões do Chromium, Google Chrome, Mozilla Firefox, e Opera. Adobe também anunciou que uma futura versão do Flash irá suportar vídeos em WebM.
Audio Video Interleave, usualmente com a extensão .avi. O formato de embalagem AVI foi inventado pela Microsoft em um tempo mais simples, quando o fato de que computadores podiam tocar vídeos já era considerado incrível. Oficialmente não suporta funcionalidades dos mais recentes formatos de embalagens como metadados incorporados. Oficialmente não suporta até mesmo os mais modernos codecs de áudio e vídeo utilizados hoje em dia. Com o tempo, companhias tentaram extendê-lo de forma incompatível para suportar isso ou aquilo, e ainda é o formato de embalagem padrão para encoders como MEncoder.

Tabela com os formatos suportados pele tag <video> do  HTML 5 que são aceitos em cada navegador sem a necessidade de ter que instalar plugins/codecs.
Navegador Formatos aceitos (conteiners)
Internet Explorer .mp4, .m4v
Safari .mp4, .m4v
Google Chrome .mp4, .m4v, .webm, .ogv
Firefox .webm, .ogv
Opera .webm, .ogv

Tabela  de Compatibilidades
Note: HTML5 Video + Audio
Extension Video MIME type type='...; codecs="..."' canPlayType(type) Notes
.mp4 video/mp4 type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' probably H.264 Constrained baseline profile video (main and extended video compatible) level 3 and Low-Complexity AAC audio in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="avc1.58A01E, mp4a.40.2"' probably H.264 Extended profile video (baseline-compatible) level 3 and Low-Complexity AAC audio in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"' probably H.264 Main profile video level 3 and Low-Complexity AAC audio in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="avc1.64001E, mp4a.40.2"' probably H.264 'High' profile video (incompatible with main, baseline, or extended profiles) level 3 and Low-Complexity AAC audio in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="mp4v.20.8, mp4a.40.2"'
MPEG-4 Visual Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"'
MPEG-4 Advanced Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container
.webm video/webm type='video/webm; codecs="vp8, vorbis"' probably WebM video and Vorbis audio in Webm container
.ogv video/ogg type='video/ogg; codecs="theora, vorbis"' probably Theora video and Vorbis audio in Ogg container
.ogv video/ogg type='video/ogg; codecs="theora, speex"'
Theora video and Speex audio in Ogg container
.ogv video/ogg type='video/ogg; codecs="dirac, vorbis"'
Dirac video and Vorbis audio in Ogg container
.3gpp video/3gpp type='video/3gpp; codecs="mp4v.20.8, samr"'
MPEG-4 Visual Simple Profile Level 0 video and AMR audio in 3GPP container
.mkv video/x-matroska type='video/x-matroska; codecs="theora, vorbis"'
Theora video and Vorbis audio in Matroska container
Note: HTML5 Video + Audio

Note: HTML5 Video only
Extension Video MIME type type='...; codecs="..."' canPlayType(type) Notes
.mp4 video/mp4 type='video/mp4; codecs="avc1.42E01E"' probably H.264 Constrained baseline profile video (main and extended video compatible) level 3 in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="avc1.58A01E"' probably H.264 Extended profile video (baseline-compatible) level 3 in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="avc1.4D401E"' probably H.264 Main profile video level 3 in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="avc1.64001E"' probably H.264 'High' profile video (incompatible with main, baseline, or extended profiles) level 3 in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="mp4v.20.8"'
MPEG-4 Visual Simple Profile Level 0 video and Low-Complexity AAC audio in MP4 container
.mp4 video/mp4 type='video/mp4; codecs="mp4v.20.240"'
MPEG-4 Advanced Simple Profile Level 0 video in MP4 container
.webm video/webm type='video/webm; codecs="vp8"' probably WebM video in Webm container
.ogv video/ogg type='video/ogg; codecs="theora"' probably Theora video in Ogg container
.ogv video/ogg type='video/ogg; codecs="dirac"'
Dirac video in Ogg container
.3gpp video/3gpp type='video/3gpp; codecs="mp4v.20.8"'
MPEG-4 Visual Simple Profile Level 0 video in 3GPP container
.mkv video/x-matroska type='video/x-matroska; codecs="theora"'
Theora video in Matroska container
Note: HTML5 Video only

Note: HTML5 Audio only
Extension Audio MIME type type='...; codecs="..."' canPlayType(type) Notes
.mp4 audio/mp4 type='audio/mp4; codecs="mp4a.40.2"' probably Low-Complexity AAC audio in MP4 container
.mp3 audio/mpeg type='audio/mpeg;' probably MPEG Audio Layer 3 audio
.webm audio/webm type='audio/webm; codecs="vorbis"' probably Vorbis audio in Webm container
.oga audio/ogg type='audio/ogg; codecs="vorbis"' probably Vorbis audio in Ogg container
.wav audio/wav type='audio/wav; codecs="1"' probably PCM audio in Waveform Audio File Format (WAVE) container
.spx audio/ogg type='audio/ogg; codecs="speex"'
Speex audio in Ogg container
.oga audio/ogg type='audio/ogg; codecs="flac"' probably FLAC audio in Ogg container
.3gp audio/3gpp type='audio/3gpp; codecs="samr"'
AMR audio in 3GPP container
Note: HTML5 Audio only


Codec
Codec é um software de Codificação e Decodificação, ou seja, eles "traduzem" um arquivo que originalmente seria muito grande para ser compartilhado/executado em conteúdo bem menos pesado. Portanto, codec é um software que é usado para compactar ou descompactar um arquivo de mídia digital, como música ou vídeo. O arquivo de vídeo é comprimido para gastar menos memoria de armazenamento.
Os Codecs pegam um arquivo grande e comprimem os elementos que fazem parte do mesmo - audio e video - em um formato menor, capaz de ser codificado e decodificado a partir de softwares específicos para isso, a exemplo do iTunes, Windows Media Player, Quicktime, Real Player, entre outros.
A diferença entre os Codecs está em como seus elementos são comprimidos ou descomprimidos. Por exemplo, uns apenas "resumem" ao máximo o tipo de conteúdo que não precisa da qualidade máxima; outros fazem isso com o mínimo de perdas possível e alguns variam de acordo com a necessidade, como nos momentos de silêncio de um filme, que não necessitam de compressão de som.
Quando faz-se uma gravação de vídeo utilizando um player, o arquivo de vídeo produzido é salvo com uma extensão. Esta extensão não necessariamente corresponde ao tipo de vídeo gravado, o arquivo produzido corresponde a um conteiner que pode ter vários arquivos diferentes compactado pelo respectivo codec.

Tipos mais populares de Codecs:
Codecs

H.264 (MPEG-4 Part 10 AVC) Mais conhecido como MPEG-4 Part 10, é um Codec bastante utilizado em smartphones, câmeras digitais e discos de Blu-ray. É um dos mais populares, especialmente porque consegue ter arquivos pequenos com alta qualidade e é compatível com Apple, YouTube, HTML 5 e Adobe Flash. A única deficiência é que a boa taxa de compressão de algoritmos também torna a tarefa de codificação lenta.
MPEG-2 Esse é um dos Codecs mais antigos e também mais comuns por aí. Sua vantagem sobre o H.264 é que tem algoritmos de compressão inferiores, o que torna a codificação bem mais rápida. Isso porém, vira uma desvantagem quando falamos de video streaming, já que a qualidade do conteúdo para esse fim deixa o vídeo todo pixelado.
MPEG-4 Part 2 Esse é o Codec anterior ao H.264, é o H.263, que costumava ser codificado com os softwares DivX e Xvid. Ele consegue manter uma qualidade razoável em um arquivo também de tamanho aceitável. Porém, não é indicado quando se fala em alta definição.
Windows Media Video (WMV) É a versão da Microsoft para Codecs MPEG-4. Começou com o WMV 7, em 1999, como uma cópia do MPEG-4 Part 2. Desde então, assim como outro Codec da Microsoft, VC-1, faz um papel semelhante ao MPEG-4 Part 10 e é utilizado em discos Blu-ray também. Todos os programas relacionados da Microsoft, a exemplo do Windows Maker, Silverlight, entre outros, utilizam o WMV e o VC-1.
Estes são apenas alguns dos mais populares Codecs, existem outros (WAV, AIFF, FLAC, AC3, Dolby Digital Plus, DTS-HD, etc).

Formato de arquivo e formato de codecs são a mesma coisa?
Não, o que pode ser confuso porque às vezes eles tem nomes iguais. Pense em um formato de arquivo como um tipo de contêiner. Dentro do contêiner encontram-se dados compactados por um codec em particular. Por exemplo, um formato de arquivo como o Windows Media Audio (WMA) contém dados compactados pelo codec Windows Media Audio. No entanto, um formato de arquivo como o AVI pode conter dados compactados por diversos codecs diferentes, incluindo os codecs MPEG-2, DivX ou XviD. Arquivos AVI também podem conter dados não compactados por nenhum codec. Por isso, pode ser possível exibir alguns arquivos AVI e não outros, dependendo dos codecs usados para compactar o arquivo e de quais codecs você tem instalado no computador. Por alguma razão, pode ser possível executar o áudio de um arquivo AVI, mas não seu vídeo.

Como eu determino e qual formato está um arquivo?
Você pode dizer o formato de um arquivo olhando a extensão do arquivo (como .wma, .wmv, .mp3 ou .avi). No entanto, há limites para essa abordagem. Muitos programas criam arquivos com extensões de arquivo personalizadas. E qualquer um pode renomear um arquivo sem modificar o formato dele. Um arquivo de extensão .mpg ou .dvr-ms, por exemplo, geralmente é apenas um arquivo AVI compactado por alguma versão de um codec de vídeo MPEG.

Containers
O container é um arquivo com um determinada extensão que agrupa arquivos de som e arquivos de vídeo compactados pelo codecs com um determinado formato, portanto nem sempre a extensão do conteiner será igual a extensão dos arquivos gerados pelo codecs.
Por exemplo:
No MKV podemos colocar vídeo no formato MPEG-4 ASP feito pelo DIVx e XviD.
O MP4 não é apenas um container que suporta vários formatos de áudio e vídeo, inclusive o próprio MP3, logo não faz sentido comparar MP3 com MP4, pois o MP3 é um decoder de áudio e o MP4 é um container de áudio e vídeo.
Um exemplo pode ser um filme: para poder assistí-lo, você precisa de arquivos de som e imagem sincronizados em uma só peça. Os Containers juntam arquivos de som e vídeos que são comprimidos e descomprimidos em Codecs e tornam eles acessíveis aos usuários.
Dentro de um Container podemos ter vários formatos de vídeo e áudio, claro que alguns containers oferecem algum tipo de limitação e não suportam todo tipo de vídeo e áudio.

Extensão de vídeo:  nem sempre correponde ao tipo do arquivo de vídeo (geralmente cada arquivo tem apenas um tipo, porém quando se trata de vídeo, uma extensão de vídeo pode comter vários tipos de vídeo), um arquivo com extensão AVI pode conter arquivos  Cineform, DivX, DV, Indeo, Cinepak.
Em vídeo, extensão de arquivo corresponde ao tipo de compressão, como uma arquivo .zip. Essas extensões (.AVI, .MOV, .MP4, etc) são na verdade “containers”, “wrappers” ou “multiplexadores”, apenas uma embalagem que junta um fluxo de áudio a um fluxo de vídeo (e alguns metadados).  Os codecs são usados para comprimir esses fluxos de vídeo e de áudio.

Formato de vídeo: fica dentro de um container, é o tipo de vídeo, mas não tem ligação com a extensão do vídeo, a extensão do vídeo corresponde ao conteiner (ex: avi, wmv).
Exemplos:
MKV
Matroska Vídeo (MKV) é um formato de código aberto e sua maior utilidade é a sincronização dos dados de vídeo com os de áudio, com os títulos, legendas, capítulos e etc. Se os outros formatos trabalham com pacotes de dados, o MKV trabalha com containers de dados multimídia, integrando áudio, vídeo e legendas em arquivos únicos e de qualidade excelente.
É fácil de encontrar vídeos MKV em torrents ou em sites de compartilhamento de vídeos, sendo o formato mais indicado para quem procura um filme em alta definição (HD). Por conta da qualidade, os filmes em 1080p neste formato podem chegar há 6 GB, mas sem dúvida é o melhor disponível atualmente.
AVI
Audio Video Interleave (AVI) é um formato encapsulador de áudio e vídeo criado pela Microsoft, sendo um dos formatos mais populares no mundo, nativamente reconhecido pela maioria das versões do Windows e por todos os leitores de DVD.
Ele está entre os melhores formatos de vídeo, sendo indicado se você possui uma boa conexão, mas não deseja perder tempo com vídeos extremamente pesados. A Microsoft já lançou seu sucessor, o WMV, que ainda não é tão popular quanto seu irmão mais velho.
MPEG
Desenvolvido pelo grupo Moving Picture Experts Group (por isso a sigla MPEG), o padrão de compressão de vídeo MPEG-1 possibilita a associação de vídeo e áudio sendo reproduzidos pela taxa de 1,5 Mbps. Mais tarde, com tecnologia mais avançada, o grupo aperfeiçoou o sistema do MPEG-1 e desenvolveu o MPEG-2, que pode reproduzir as associações multimídia pela taxa máxima de 10 Mbps.
Com uma qualidade ligeiramente inferior ao AVI, este formato também é muito utilizado para gravações de DVDs, por causa do seu tamanho reduzido.
MP4
MPEG-4 Part 14 (MP4) também é um container de áudio e vídeo, que é parte da especificação MPEG-4 desenvolvido pela ISO/IEC 14496-14. Se tornou rapidamente popular por se tratar da evolução do MP3 (áudio) para MP4 (áudio e vídeo).
Dependendo da redentização feita, é possível obter vídeos com qualidade igual ou superior ao AVI, mas com tamanho inferior. Por isto é muito encontrado em venda e aluguéis de filme em alta definição na Internet.
RMVB
Real Media Variable Bitrate (RMVB) é um formato criado pela RealNetworks, que possui tamanho muito pequeno, permitindo um manuseio mais rápido na internet tanto para download quanto para upload. Devido ao seu tamanho menor que o normal, a qualidade do vídeo acaba ficando comprometida.

Containers mais populares
Containers
Tipo de arquivo de vídeo

MP4
Esse é um dos mais encontrados e costuma funcionar bem para abrir vídeos codificados em H.264 e áudio em ACC. Também suporta os Codecs de vídeo MPEG-4 Part 2 e MPEG-2.
AVI Este é o Container da Microsoft desde 1992 e continua na ativa até hoje. Porém, pode começar a ficar obsoleto, já que não suporta o Codec H.264.
ASF O Advanced Systems Format utiliza extensões .WMA e .WMV mas não .ASF, o que torna ele amigável entre os produtos da Microsoft mas problemático fora desse ambiente, principalmente se você usa Codecs H.264.
AVHCD Este é o Container mais conhecido pra quem utiliza câmeras digitais de alta definição. Normalmente contém vídeos em H.264 com áudio AC3 (Dolby Digital) ou Linear PCM.
MKV É um dos mais recentes, que comporta vídeos de Codec H.264 e é popular com ferramentas como Boxee, PS3 Media Server, XMBC, VLC, entre outros. É comumente encontrado em arquivos extraídos de Blu-rays, mas ainda não conta com muita popularidade.
FLV É um dos mais populares Containers, o Adobe Flash, que usa com mais frequência os Codecs H.264 e ACC. Ainda é o mais utilizado, porém, vem perdendo espaço para o HTML5 e porque a Apple não suporta o Adobe Flash.
Há outros Containers, como Quicktime File Format, OGG, WebM, OGM, VOB, MPG, RMVB, etc.

Transcoders: software que transformato um formato de codecs em outro.Os mais comuns por são o HandBrake, FFmpeg, SUPER, VirtualDUB, etc. Alguns são pagos, outros convertem diretamente para o tipo de dispositivo que será rodado e uns são mais detalhados com relação aos elementos do arquivo.

Formato de áudio: são os formatos de áudio que podem ficar dentro de um container ou ser reproduzidos sozinhos como, por exemplo, o MPEG-3 layer (ver MP3), o OGG vorbis, ACC, etc.


O programa FormatFactory 3.5.0 possibilitar visualizar as configurações do arquivo de vídeo, o arquivo wamp.flv possuir as características abaixo (Informação de Arquivo de Mídia). Observe que um arquivo de vídeo (conteiner) possui um tipo de format, que no exemplo é flv (Flash Video), em seu interior o vídeo tem um formato próprio (H.263) e um arquivo de audio também de um formato próprio (MPEG Audio).

Arquivo: wamp.flv (H.26 e MPEG Audio), utilizado nos exemplos.
General
Complete name
I:\projetosite\videos\arquivos\wamp.flv
Format
Flash Video
File size 30.5 MiB
Duration 15mn 38s
Overall bit rate 
391 Kbps

Video
Format
H.263
Codec ID 2
Codec ID/Hint 
Sorenson
Duration 
15mn 38s
Bit rate 302 Kbps
Width
852 pixels
Height 480 pixels
Display aspect ratio 16:9
Frame rate mode
Constant
Frame rate 5.000 fps
Bit depth 
8 bits
Compression mode 
Lossy
Bits/(Pixel*Frame)
0.148
Stream size  
33.8 MiB


Audio
Format
MPEG Audio
Format version 
Version 2
Format profile
Layer 3
Codec ID 
2
Codec ID/Hint
MP3
Duration 
15mn 38s
Bit rate mode
Constant
Bit rate    
64.0 Kbps
Channel(s) 1 channel
Sampling rate
22.05 KHz
Compression mode  
Lossy
Stream size
7.16 MiB (23%)
Writing library LAME3.97ª C†ÉŽ•–„
 
Arquivo: wamp.mp4 (AVC e AAC), utilizados nos exemplos.
General
Complete name
I:\projetosite\videos\arquivos\wamp.mp4
Format
MPEG-4

Video
Format
AVC

Audio
Format
AAC
Format profile
LC


HTML 4.0


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
  <title></title>
</head><body>
    <object height="480" width="640">
    <param name="movie" value="wamp1.swf">
    <embed src="wamp1.flv" height="480" width="640">
    </object>
</body></html>

Obs: arquivo com extensão .swf é reconhecido automaticamente pelo Adobe Player.


HTML 5

As tags <audio> e <video> permitem a reproducação de arquivos de mídia diretamente nos navegadores com suporte para HTML 5 sem a necessidade de um plugin externo. Apartir das versões dos navegadores Internet Explorer 9+, Firefox 3.6+, Opera 10.6+, Chrome 6+ e Safari 5+ são compatíveis com o HTML5.

Exemplo:

<video src="meuvideo.mp4" width="640" height="480" />

Codecs
Para indicar ao navegador o container e codecs de determinado arquivo, usa-se o atributo type.
Por exemplo, um vídeo em Ogg, usando os codecs Theora e Vorbis, terá seu source assim:

<source src='video.ogv' type='video/ogg; codecs="theora, vorbis"'>

Com MPEG-4 a coisa é um pouco mais complicada, por que é preciso indicar ao navegador também o profile do codec de vídeo utilizado. Veja um exemplo:

<source src='video.mp4' type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"'>

Ainda não exixte um codecs universal, para cada tipo de arquivo de audio ou vídeo há uma codecs específico.

Como resultado, temos IE, Chrome e Safari com suporte integral para arquivos em MP4 codificados com H.264. Já Firefox e Opera não são compatíveis com MP4 e suportam o formato aberto Theora ou Vorbis em arquivos Ogg. O formato WebM roda em Chrome, Firefox e Opera.
Navegador
MP4 WebM
Ogg
Internet Explorer 9+ SIM
NÃO NÃO
Chrome 6+
SIM SIM SIM
Firefox 3.6+ NÃO SIM SIM
Safari 5+
SIM
NÃO NÃO
Opera 10.6+ NÃO SIM
SIM

A tag <video> permide  a inclusão de vários tipos de arquivos de vídeos, o próprio navegador irá automaticamente reproduzir somente o primeiro formato compatível que encontrar:

<video width="640" height="480">
    <source src="meuvideo.mp4" type="video/mp4" />
    <source src="meuvideo.ogv" type="video/ogg" />
    <source src="meuvideo.webm" type="video/webm" />
</video>

Para navegadores que suportam apenas védeos em HTML4 a tag <video> pode emglobar vídeos em HTML5 e HTML4 juntos, caso o navegador não suporte os formados modernos, serão utilizados os formatos antigos.

Exemplo:
<video width="640" height="480">
    <source src="meuvideo.mp4" type="video/mp4" />
    <source src="meuvideo.ogv" type="video/ogg" />
    <source src="meuvideo.webm" type="video/webm" />
    <object width="640" height="480">
    <param name="movie" value="meuvideo.swf" />
    <embed src="meuvideo.swf" width="640" height="480"></embed>
    </object>
</video>

Você também é livre para exibir uma mensagem de erro para o usuário ou exibir uma imagem:

<video width="640" height="480">
    <source src="meuvideo.mp4" type="video/mp4" />
    <source src="meuvideo.ogv" type="video/ogg" />
    <source src="meuvideo.webm" type="video/webm" />
    <p>Este navegador não suporta videos em mpr, ogv e webm</p>
    <img src="erro.gif" />
</video>