Isso é apenas (praticamente) possível para a codificação de vídeo sem perdas.
Sem perdas para sem perdas
É muito simples fazer o que você deseja para codecs de vídeo codificados sem perdas. Muitos deles armazenam os dados de vídeo pixel a pixel, principalmente no espaço de cores YUV . Além disso, cada quadro fica por conta própria.
Seria muito fácil editar esse vídeo porque você sabe onde cada quadro está e onde cada posição de pixel está no fluxo de bytes. Você pode simplesmente sobrescrever partes do fluxo de bytes sem consequências para o fluxo restante. Mesmo se o vídeo sem perda fosse comprimido aritmeticamente, você poderia descompactá-lo primeiro, editar e depois compactar e salvar novamente - não há problema com isso.
Assim, por exemplo, se você tiver um vídeo YUV bruto em um contêiner AVI, poderá editá-lo quadro a quadro e salvá-lo em YUV em AVI novamente.
Mantendo a codificação com perdas
Mas se você quiser fazer a codificação de vídeo com perdas - ou manter a codificação com perdas original - após a etapa de edição, isso é impossível. Existem dois problemas com isso: o próprio processo de codificação e o fato de que, frequentemente, os quadros dependem uns dos outros.
A compactação com perdas tenta remover a redundância o máximo possível, removendo detalhes que o olho humano não vê. Isso é feito em várias etapas, mas a mais importante envolve a transformação do domínio de pixel no domínio da frequência, geralmente com variantes da Transformação de cosseno discreta .
O que esta etapa faz é que ela leva um bloco de, digamos, 8 × 8 pixels e a transforma em um bloco de coeficientes de freqüência. A partir desse bloco, determinados coeficientes são descartados, o que reduz a quantidade de informações (e, portanto, comprime o tamanho), mas também elimina as informações visuais, o que reduz a qualidade do vídeo. Quais coeficientes são descartados depende da configuração de qualidade do codificador. O vídeo não é armazenado como pixels, mas como coeficientes de frequência.
Quando você quer editar um vídeo com perdas, você primeiro tem que reconstruir os coeficientes de freqüência em uma representação pixel a pixel novamente (como mencionado acima). Nesse ponto, você poderia editar o vídeo e inserir um logotipo, mas, depois de armazená-lo novamente, teria que executar a etapa de transformação novamente e descartar as informações. Esta é, em essência, a principal causa da perda de geração .
Outro problema é o fato de que, para a maioria dos vídeos com perdas, alguns quadros dependem das informações contidas em outros quadros . Mais especificamente, quadros B e P contêm apenas deslocamentos de quadros B / P ou I anteriores (ou posteriores). Se você alterar o conteúdo de um quadro I, todos os outros quadros dependentes serão alterados quando forem decodificados, o que normalmente não é o que você deseja. A resposta de Peter Cordes abaixo destaca esse ponto. E, de fato, ele está certo que em princípio , você poderia editar um vídeo com perda de quadros apenas em no lugar , mas seria praticamente muito difícil de realizar.
Então, de maneira muito simples, a menos que você consiga armazenar um vídeo sem perdas, não é possível editar um vídeo no local sem sacrificar a qualidade.