¿Qué es un algoritmo CRC?

Autor: Armonth | El lunes 03 de julio del 2006 @ 17:48.

Apunte rápido: Un algoritmo CRC o código de redundancia cíclica es un algoritmo que permite comprobar la fiabilidad y la no alternación de los datos, en software (y especialmente útil en el fansubeo) se utiliza para comprobar si existe corrupción de datos. Dos de los algoritmos más utilizados son CRC y MD5 pero la gran mayoría de fansubs utilizan el CRC, vamos a dar un ejemplo práctico:

Supongamos que tenemos un fichero bajado tipo Nombre[5CB7DA48].avi los números y letras que están entre [ y ] son el CRC del fichero. El vídeo en cuestión se nos pixela (deformaciones anormales en el vídeo) y entonces la pregunta que toca hacernos es: ¿es el vídeo que está mal codificado, nos lo hemos bajado mal o está corrupto?. Es ahí donde entra el CRC

Nos descargamos un programa que sirva para hacer un "CRC check". Yo en GNU/Linux utilizo cfv que viene en las distribuciones y permite comprobar multitud de algoritmos y sistemas como CRC, MD5, PAR, ficheros .torrent, etc. Ejecuto la siguiente orden:

 cfv -C -t crc Nombre[5CB7DA48].avi

Y esto me genera un fichero con extensión .crc a partir del fichero AVI que le hemos pasado. Si el CRC coincide entonces el vídeo ni está corrupto ni está mal descargado: si lo vemos mal seguramente será por uno de los tres siguientes supuestos (de más probable a menor):

  • Es cosa de nuestros códecs o nuestro reproductor de vídeo
  • El encoder lo hizo mal o se le paso algún fallo (como por ejemplo lo que comentaba sobre Xdelta).
  • La fuente (RAW) que se uso por parte del encoder ya estaba en mal estado (muy raro salvo que sea material viejo o un chapuzas).

En cualquiera de los tres casos si el CRC podemos estar seguros que NO es cosa del fichero y por tanto volver a bajarlo no solucionará el problema. Lo mejor en estos casos es dar "un toque" en donde obtuviste el fichero para ver qué te cuentan...

Comentarios