Os arquivos são compostos por 1s e 0s. Cada 1 ou 0 é chamado um pouco.
Para salvar um arquivo específico, você precisa concordar sobre como armazenar esses 1s e 0s. A maneira mais óbvia pode ser dividir seu vídeo em quadros, depois cada quadro em uma grade de pixels. Você pode então começar no canto superior esquerdo do quadro e ler do canto superior esquerdo para o canto inferior direito. Para cada pixel, você pode armazenar 8 bits para descrever o quão vermelho ele é, 8 para o azul e 8 para o verde. Isso acabaria com muitos dados para um vídeo inteiro. O problema é que o arquivo resultante seria enorme e conteria várias seções duplicadas (ou seja, se a tela ficar preta por 1 segundo, você pode armazenar milhares de 0s próximos um do outro)
Uma maneira melhor pode ser fazer isso, em seguida, encontrar uma maneira de torná-lo menor - talvez identificando blocos que são os mesmos e tendo um índice que pode minimizar quadros semelhantes ou uma maneira de descrever blocos de cores. no vídeo.
Formatos diferentes tentam resolver problemas diferentes - o vídeo deve ser pequeno, mas ter baixa qualidade? Grande, mas precisa de muito processamento para jogar? Ser capaz de armazenar transparência? Cada formato é bom em algo diferente, portanto, a grande variedade, além do fato de que eles são coisas complexas, muitas empresas têm suas próprias maneiras de resolver os mesmos problemas.
Geralmente é demorado converter de um formato para outro porque você precisa obter os dados individuais sobre cada pixel e codificá-los usando um algoritmo diferente. Se o formato original foi com perdas (ou seja, ele removeu os dados para diminuí-lo), isso terminará com uma cópia inferior do original.