¿Qué salió mal durante la compresión de video y cómo puedo reconstruir el metraje no dañado?

Esto parece que el número de píxeles por fila está desactivado en 1, pero este error se acumula y se restablece cada 32 filas (o estos números aumentan por grande que sea cada punto en la línea diagonal del diente de sierra).

Comience con un pequeño ejemplo. Supongamos que se supone que hay 8 píxeles en cada fila, pero solo pongo siete en cada fila y luego pongo los píxeles restantes en la siguiente fila. Suponga que se supone que la mitad izquierda de la imagen es de color blanco (.) Y que la mitad derecha de la imagen es de color rojo (R). El resultado que vería sin el error, esquemáticamente, es:

… .RRRR
… .RRRR
… .RRRR
… .RRRR
… .RRRR
… .RRRR

Supongamos que tengo el error y el error se restablece cada cuatro filas. El resultado que vería con el error, esquemáticamente, es:

… .RRR
R … .RR
RR… .R
RRR …
… .RRR
R … .RR
RR… .R
RRR

El patrón es similar a lo que estás viendo,

Para corregir lo que está viendo, necesitaría hacer algo como:

  • Trate 32 filas de la imagen como una sola matriz empaquetada una fila tras otra
  • Escriba esas filas en una nueva matriz, con un píxel más por fila que la imagen que está tratando de arreglar
  • Repita para las siguientes 32 filas hasta que esté listo

Es posible que no pueda recuperar toda la imagen; por ejemplo, es posible que le falten píxeles al final de algunas filas cuando haya terminado.

¡Buena suerte!

Parece que la extracción del marco no es adecuada. El códec de video no tiene ningún papel en él, ya que si la decodificación sale mal, todo el marco tendría artefactos extraños, pero en su caso, parece que el marco está dividido en múltiples mosaicos y no parece un error de decodificación. Mi opinión sería verificar el proceso de extracción del cuadro, como dar correctamente el ancho y alto del cuadro, y extraer el cuadro del lugar correcto (dirección correcta) de la secuencia. Puede usar FFmpeg para la extracción de cuadros. Espero que esto ayude !