FourCC é a abreviação para “Four Character Code”: um código de 4 caracteres (dãa) que é inserido em cada AVI determinando qual o codec que foi usado no video lá contido. Sem o FourCC é impossível saber automaticamente com que codec o AVI foi criado. Seria necessário que um humano testasse o vídeo com cada codec existente e desse o OK quando o resultado fosse algo humanamente compreensível e de qualidade razoável.
Uma lista de FourCCs existentes pode ser vista aqui:
Cada AVI tem dois descritores FourCC, que podem ser alterados à vontade, com resultados variados. Os motivos pelos quais alguém iria querer mexer nos descritores FourCC:
- Enganar sistemas – Eu fui convidado a fazer um beta-teste de um player DivX que ia ser lançado no mercado e descobri que o danado se recusava a executar qualquer XviD. Mudando os descritores FourCC de ‘XviD” para ‘DivX’ nos AVIs, o player passou a executá-los normalmente, o que deixou claro que os projetistas haviam “esquecido” que XviD existe (para reproduzir, tanto faz ser Xvid ou DivX). A propósito: esse player nunca chegou a ser lançado porque os “técnicos” na fábrica chinesa nem sabiam o que é um FourCC, por isso foram incapazes de fazer as alterações necessárias. Eu recomendei o cancelamento do projeto.
- Enganar software – Por exemplo, a primeira versão de FUSE.EXE da DivX Networks recusava-se a rodar em arquivos XviD (a DivX não queria botar azeitona na empada do concorrente), mas era possível força-lo a rodar mudando os descritores para “DivX” e depois mudando de volta ao fim do processamento.
- Enganar pessoas – Como quase todos os programas e hardwares existentes simplesmente nem tentam decodificar um AVI se o FourCC encontrado não for reconhecido, basta você escrever nos descritores FourCC um código inexistente para que os videos pareçam corrompidos para a maioria das pessoas. Com um programa “especial” que ignore o FourCC e considere tudo “DivX”, por exemplo, você poderia assistir aos videos “protegidos” assim normalmente. E se você acrescentar a isso a alteração da extensão para algo desconhecido como, por exemplo “.AVB” e 99% das pessoas seriam incapazes de descobrir que existe um vídeo escondido ali, mesmo que seu tamanho desse uma boa pista. Eu, claro, me enquadro no 1% que não se deixa enganar.
De vez em quando é possível se deparar acidentalmente com um AVI cujo FourCC foi deliberadamente alterado, com resultados variados, porque parece não existir um padrão que determine qual o papel de cada descritor FourCC e qual deles é checado em cada software ou player de hardware. Nos meus testes, eu verifico qual dos dois descritores FourCC o player consulta quando quer determinar qual o codec usado pelo AVI.
Quem não entende o papel dos FourCCs simplesmente apaga um AVI assim, porque não consegue abri-lo em lugar nenhum
Totalmente esclarecedor, amigo. Eu diria até, didático.
Muito obrigado por dividir um pouco do seu conhecimento conosco, deste, menos providos.