Isso deveria ter sido um comentário ao post de @thomasrutter, mas ainda não posso comentar (falta de reputação).
Seu ponto principal sobre MJPEG versus AVC não está totalmente correto. É verdade que o MPEG-4 Parte 10 (AVC / H.264) geralmente não grava todos os quadros como um quadro I (chave / quadro completo). Não há nada na especificação que proíba isso, e algumas câmeras gravam apenas quadros I.
O que você está errado é sobre os benefícios do MJPEG sobre o H.264 e seu argumento sobre o porquê. Começarei com uma breve explicação sobre como os quadros são reconstruídos a partir de um H.264 (ou outros formatos de codec de vídeo). O vídeo será codificado em três tipos diferentes de quadros, quadros intra-codificados (quadros I), quadros codificados preditivos (quadros P) e quadros codificados preditivos bidirecionalmente (quadros B). Um quadro I é uma versão compactada de um quadro "bruto" completo. Ele pode ser reconstruído como um JPEG (ou um único quadro em um fluxo MJPEG). Um quadro P, por outro lado, faz referência aos quadros I e P, e precisará deles para serem reconstruídos. Um quadro B também pode fazer referência aos seguintes quadros I e P. Há muito mais informações sobre isso na Wikipedia.
A diferença entre H.264 e MJPEG é como a compactação funciona, e não como é boa. Cada quadro único em um vídeo digital pode ser completamente reconstruído, usando as informações contidas no arquivo de vídeo / fluxo. O H.264 fornecerá melhores resultados que o MJPEG, mesmo quando você exporta um quadro, na mesma taxa de bits. Isso é válido para a maioria das taxas de bits (não tenho certeza sobre taxas de bits muito baixas). Há mais informações e vários testes on-line, e um bom lugar para começar é o compressão.ru .
A única desvantagem do H.264 é a complexidade computacional na reconstrução de um único quadro. O H.264 requer muito mais poder de processamento que o MJPEG. Este não é um problema em computadores modernos.