Це повинен був бути коментарем до публікації від @thomasrutter, але я поки не можу коментувати (бракує репутації).
Ваша думка щодо MJPEG проти AVC не зовсім коректна. Це правда, що частина 10 MPEG-4 (AVC /H.264) зазвичай не записує кожен кадр як I-кадр (ключ / повний кадр). У специфікації немає нічого, що забороняє це, хоча деякі камери записують лише I-кадри.
Що ви помиляєтесь, це переваги MJPEG над H.264 та ваш аргумент про те, чому. Почну з короткого пояснення про те, як реконструюються кадри з H.264 (або інших форматів відеокодеків). Відео буде кодуватися у трьох різних типах кадрів, внутрішньо-кодованих кадрах (I-кадри), кадрах з прогнозованим кодуванням (P-кадри) та двосторонніми кодами з прогнозованим прогнозуванням (B-кадри). I-кадр - це стислий варіант повного "сировинного" кадру. Він може бути реконструйований так само як JPEG (або один кадр у потоці MJPEG). З іншого боку, P-кадр, що передує I-та-P-кадрам, і потребує їх реконструкції. В-кадр також може посилатися на I- та P-кадри. Про це набагато більше інформації у Вікіпедії.
Різниця між H.264 та MJPEG полягає в тому, як працює компресія, а не наскільки вона хороша. Кожен окремий кадр у цифровому відео може бути повністю реконструйований за допомогою інформації, яка знаходиться у відеофайлі / потоці. H.264 дасть кращі результати, ніж MJPEG, навіть коли ви експортуєте один кадр, при тому ж бітрейті. Це справедливо для більшості бітрейтів (не впевнений у дуже низьких бітрейтах). У мережі є більше інформації та кілька тестів, і гарне місце для початку - compression.ru .
Єдиним недоліком H.264 є обчислювальна складність при реконструкції одного кадру. H.264 вимагає набагато більше потужності обробки, ніж MJPEG. Однак це не є проблемою на сучасних комп’ютерах.