Bu @thomasrutter tarafından yazılan bir yorum olmalıydı, ama henüz yorum yapamam (itibarı yok).
MJPEG ve AVC arasındaki kurşun noktanız tamamen doğru değil. Doğrudur , MPEG-4 bölüm 10 (AVC /H.264), genellikle bir I-çerçevesi (anahtar / tam çerçeve) olarak her kare kayıt yoktur. Spesifikasyonda bunu yasaklayan hiçbir şey yoktur ve bazı kameralar sadece I-kareleri kaydeder.
Yanıldığınız şey, MJPEG'in H.264'e göre faydaları ve nedeninizle ilgili tartışmanız. Çerçevelerin bir H.264'ten (veya diğer video codec formatlarından) nasıl yeniden oluşturulduğu hakkında kısa bir açıklama ile başlayacağım. Video üç farklı çerçeve, kodlanmış kare (I-kare), öngörülü-kodlanmış kare (P-kare) ve çift yönlü-öngörücü-kodlanmış kare (B-kare) olarak kodlanacaktır. I-frame, tam bir "raw" çerçevenin sıkıştırılmış sürümüdür. Sadece JPEG (veya MJPEG akışında tek bir kare) olarak yeniden oluşturulabilir. Öte yandan bir P-çerçevesi I ve P-çerçevelerinden önce gelir ve bunların yeniden yapılandırılması gerekir. Bir B-çerçevesi ayrıca I- ve P-çerçevelerini takip edebilir. Wikipedia'da bunun hakkında daha fazla bilgi var.
H.264 ve MJPEG arasındaki farktır nasıl sıkıştırma işleri değil, ne kadar iyi olduğunu. Dijital videodaki her bir kare, video dosyasındaki / akışındaki bilgiler kullanılarak tamamen yeniden oluşturulabilir. H.264, bir biti aynı bit hızında dışa aktarırken bile MJPEG'den daha iyi sonuçlar verecektir. Bu, çoğu bit hızı için geçerlidir (çok düşük bit hızlarından emin değilsiniz). Daha fazla bilgi ve hatta birkaç test var ve başlamak için iyi bir yer sıkıştırma.ru .
H.264 ile ilgili tek dezavantaj, tek bir çerçevenin yeniden yapılandırılmasındaki hesaplama karmaşıklığıdır. H.264, MJPEG'den çok daha fazla işlem gücü gerektirir. Bu modern bilgisayarlarda bir sorun değil.