Videodaten kann man i.d.R auch dann noch verwenden, wenn ein paar Bits gekippt sind oder fehlen. Solche Fehler werden entweder bei der Dekompression korrigiert oder es fehlt eben mal ein Frame. Das merkt keiner.
Aber Fehler im Header können fatal sein. Da genügt ein einziges falsches oder fehlendes Bit und die ganze Datei ist unbrauchbar.
Daher erscheint es mir sinnvoll, beim Speichern einer Datei eine Kopie des Headers anzulegen und eine Checksum dessen. Beides natürlich mindestens auf einem anderen Sektor, besser noch auf einem anderen physischen Datenträger. Beim Lesen der Datei musst du dann nur die Checksum des Headers mit der abgelegten ursprünglichen Checksum vergleichen. Stimmen sie nicht überein,
prüfst du die Checksum der Kopie des Headers. Stimmt sie, ersetzt du den Header durch die Kopie. Stimmt sie nicht, hast du verloren, denn beide Header sind kaputt.
Soweit zur (platzsparenden) Theorie. Ich würde sowas allerdings nicht selbst* implementieren sondern ein Dateisystem nutzen, das Fehler korrigieren kann.
ZFS ist so eins. Es speichert Block-
Prüfsummen und kann noch allerhand mehr.
Wenn das nicht geht, gibt es immer noch genügend Alternativen, etwa Parchive (erzeugt Parity Files, mit denen sich die Originaldatei rekonstruieren lässt).
*) Bei Langzeitbackups setze ich auf "Industriestandards". Wegen der höheren Halbwertzeit. Wenn man eine eigene Lösung strickt, muss man sich Gedanken machen, wie man diese Lösung vor Korruption und Verlust schützt, wie man sie auch in vielen Jahren nach vielen OS-Upgrades oder -wechseln noch verwenden kann etc.