¿Cómo encuentro el códec para un AVI?

19

¿Cómo puedo encontrar qué códec necesita un archivo AVI? Se preferiría un método que no requiera descargar un programa (como mirar el archivo en el bloc de notas).

Cruzar
fuente

Respuestas:

24

Abra en el bloc de notas, busque 'vids': FOURCC está justo después de eso. Por ejemplo, encontrarás algo como:

vidsWMV1

Entonces google para 'fourcc WMV1' en este ejemplo.

Chris
fuente
1
Solución interesante, no sabía sobre esto. +1
Sasha Chedygov
¡Agradable! Para su información, esto también funcionará en macOS con TextEdit u otros editores de texto. Me encantan estos enfoques simples que no requieren un software especial.
EJ Mak
21

Este es un proceso muy simple y se puede hacer usando la herramienta de información de códec GSpot . Simplemente descargue el programa e instálelo. Ahora vaya a su Menú de Inicio y abra el programa.

  1. Seleccionar archivo | Abra y seleccione su archivo AVI
  2. Busque el código FourCC para el códec de video del archivo

  3. Visite el sitio web de FourCC y descubra quién desarrolla ese códec

  4. Ahora puede ir a ese sitio web de desarrolladores para descargar su códec. También puede visitar la sección Códec de wmplugins.

Nota: No descargue nada etiquetado como "Codec Pack" o desde los enlaces en la parte superior del sitio web de FourCC. Esto lo ayudará a evitar problemas al reproducir sus archivos.

VLC tiene soporte para Divx y 3ivx integrado para todas las plataformas.

Fuente: http://msmvps.com/blogs/chrisl/articles/11529.aspx

joe
fuente
44
Creo que preferiría un método que no requiera descargar un programa.
hyperslug
13
GSpot es <200 KB y no requiere instalación. Descargarlo y ejecutarlo probablemente sea más rápido que intentar cargar un archivo de video en el Bloc de notas.
Badaro
1
Una buena respuesta, pero no era la respuesta que estaba buscando.
C. Ross
@Badaro estuvo de acuerdo en que GSpot es el mejor. Tengo una pequeña carpeta llamada "Otros programas" en mi HDD E: \ secundaria solo para almacenar programas como estos. solución muy rápida y funciona para todos los formatos AVI
Jake
@Badaro Incluso si logras cargarlo, la búsqueda será una pesadilla en cuanto al rendimiento.
jpmc26
0

Solo necesitaba esto, encontré esta página (muy antigua) y decidí que preferiría no cargar mi AVI de 260 MB en un editor de texto, por lo que tal vez mi solución ayude a alguien más.

Si tiene un shell similar a Unix, probablemente tenga un programa llamado 'cadenas' que encuentra secuencias de caracteres imprimibles. Por defecto, la longitud mínima es cuatro, lo cual está bien para esta necesidad. (Se puede cambiar en la línea de comando). Los 'vids' y los fourcc serán consecutivos en la salida (pero no una cadena en mi AVI).

Puede canalizar el resultado en algo simple como 'más' y encontrarlo usted mismo. O podría conectarlo a la cabeza y esperar adivinar la cantidad de líneas que necesitará. O podría ser un poco más sofisticado y canalizarlo a través de sed y hacer que imprima la línea que coincida con el patrón deseado. O puede usar awk para hacer lo mismo. En mi shell cygwin bash, esas opciones se parecen a estos comandos:

cuerdas foo.avi | más
cuerdas foo.avi | cabeza -10
cuerdas foo.avi | sed -n '/ vids /, + 1p'
cadenas foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; impresión ; salida } } '

La desventaja de la tercera versión es que he procesado todo el archivo, por lo que puede llevar un tiempo completarlo. Estoy seguro de que hay una manera de detenerlo después del primer partido, pero no soy lo suficientemente experto en sed para saberlo (o encontrarlo). La versión awk se detiene explícitamente si la condición es verdadera (obtenga la siguiente línea, imprima eso, salga, mientras que el comando sed solo tiene los dos primeros con +1 yp). Tanto en el comando sed como en el awk, / vids / es la expresión regular que necesitamos (es decir, la cadena de búsqueda en la respuesta de Chris anterior). Además, la construcción awk 'NR == 1, / vids /' dice que aplique el siguiente bloque de código a las líneas desde el número 1 (primera línea de entrada) a donde encuentre esa expresión regular (cadena coincidente). La condición if impide imprimir todas las líneas hasta la que coincida. Lo hago coincidir con la línea completa ($ 0), que para el comando de cadenas, debería funcionar bien; las cadenas se imprimen una por línea de todos modos.

Tenga en cuenta que la cadena que encuentra puede incluir caracteres adicionales (por ejemplo, de mi archivo AVI encuentra 'strf (' no 'strf', que es el fourcc). Si realmente necesita cortarlo en cuatro caracteres (por ejemplo, para un script que necesita para compararlo con una lista estándar), puede canalizar la respuesta a 'head -c 4' y obtener solo el fourcc. Aquí está mi respuesta final:

cuerdas foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; impresión ; salir}} '| cabeza -c 4

FWIW, Windows Media Player enumeró el códec en mi AVI como "-" para audio y video, pero lo anterior funcionó como se esperaba.

¡Espero que haya valido la pena para alguien que pasé tiempo escribiendo esto! ;-)

Whew, Mark

marca
fuente