Điều này đáng lẽ phải là một bình luận cho bài viết của @thomasrutter, nhưng tôi chưa thể bình luận (thiếu danh tiếng).
Điểm nhấn của bạn về MJPEG so với AVC không hoàn toàn chính xác. Đúng là MPEG-4 Phần 10 (AVC /H.264) thường không ghi lại mọi khung hình dưới dạng khung hình I (khung hình chính / toàn khung hình). Không có gì trong đặc tả cấm điều này mặc dù và một số máy ảnh chỉ ghi lại các khung hình I.
Điều bạn sai về những lợi ích của MJPEG so với H.264 và lập luận của bạn về lý do tại sao. Tôi sẽ bắt đầu với một lời giải thích ngắn về cách các khung hình được xây dựng lại từ H.264 (hoặc các định dạng codec video khác). Video sẽ được mã hóa theo ba loại khung khác nhau, khung mã hóa nội bộ (khung I), khung mã hóa dự đoán (khung P) và khung mã hóa dự đoán hai chiều (khung B). Khung I là phiên bản nén của khung "thô" đầy đủ. Nó có thể được xây dựng lại giống như một JPEG (hoặc một khung hình duy nhất trong luồng MJPEG). Mặt khác, khung P được tham chiếu trước khung I và P và sẽ cần được tái tạo lại. Khung B cũng có thể tham chiếu theo khung I và P. Đó là nhiều thông tin hơn về điều này trên Wikipedia.
Sự khác biệt giữa H.264 và MJPEG là cách nén hoạt động, và không tốt như thế nào. Mỗi khung hình duy nhất trong video kỹ thuật số có thể được xây dựng lại hoàn toàn, bằng cách sử dụng thông tin có trong tệp video / luồng. H.264 sẽ cho kết quả tốt hơn MJPEG, ngay cả khi bạn xuất một khung hình, với cùng tốc độ bit. Điều này hợp lệ với hầu hết các bitrate (không chắc chắn về bitrate rất thấp). Có nhiều thông tin và một số thử nghiệm trên đường, và một nơi tốt để bắt đầu là compression.ru .
Nhược điểm duy nhất với H.264 là độ phức tạp tính toán trong việc tái cấu trúc một khung hình duy nhất. H.264 đòi hỏi nhiều sức mạnh xử lý hơn MJPEG. Đây không phải là một vấn đề trên một máy tính hiện đại.