Como encontro o codec para um AVI?

19

Como posso encontrar de que codec um arquivo AVI precisa? Um método que não requer o download de um programa seria preferido (como ver o arquivo no bloco de notas).

Cruz
fonte

Respostas:

24

Abra no bloco de notas, faça uma busca por 'vids' - o FOURCC é logo depois disso. Por exemplo, você encontrará algo como:

vidsWMV1

Em seguida, pesquise no Google por 'fourcc WMV1' neste exemplo.

Chris
fonte
11
Solução interessante, não sabia disso. +1
Sasha Chedygov 17/08/09
Agradável! Para sua informação, isso também funcionará no macOS com o TextEdit ou outros editores de texto. Eu amo essas abordagens simples que não exigem software especial.
EJ Mak
21

Este é um processo muito simples e pode ser feito usando a Ferramenta de informação de codec GSpot . Basta baixar o programa e instalá-lo. Agora entre no menu Iniciar e abra o programa.

  1. Selecionar arquivo | Abra e selecione o seu arquivo AVI
  2. Procure o código FourCC para o codec de vídeo do arquivo

  3. Visite o site da FourCC e descubra quem desenvolve esse codec

  4. Agora você pode acessar o site do desenvolvedor para baixar seu codec. Você também pode visitar a seção Codec de wmplugins.

Nota: Não faça o download de nada rotulado como "Codec Pack" ou dos links na parte superior do site da FourCC. Isso o ajudará a evitar problemas ao reproduzir seus arquivos.

O VLC tem suporte para Divx e 3ivx embutidos em todas as plataformas.

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

Joe
fonte
4
Eu acho que ele preferiria um método que não requer o download de um programa.
Hyperslug 17/08/09
13
O GSpot é <200 KB e não requer instalação. O download e a execução provavelmente serão mais rápidos do que tentar carregar um arquivo de vídeo no Bloco de Notas.
Badaró
11
Uma boa resposta, mas não era a resposta que eu estava procurando.
1755 Ross C.
@Badaro concordou que o GSpot é o melhor. Eu tenho uma pequena pasta chamada "Outros programas" no meu disco rígido E: \ secundário apenas para armazenar programas como estes. solução muito rápida e ele funciona para todos os formatos AVI
Jake
@Badaro Mesmo que você consiga carregá-lo, a pesquisa será um pesadelo em termos de desempenho.
precisa saber é o seguinte
0

Eu só precisava disso, encontrei essa página (muito antiga) e decidi que preferia não carregar meu AVI de 260 MB em um editor de texto, então talvez minha solução ajude outra pessoa.

Se você possui um shell semelhante ao Unix, provavelmente possui um programa chamado 'strings' que encontra seqüências de caracteres imprimíveis. Por padrão, o comprimento mínimo é quatro, o que é bom para essa necessidade. (Pode ser alterado na linha de comando.) Os 'vids' e o fourcc serão consecutivos na saída (mas não uma string no meu AVI).

Você pode colocar o resultado em algo simples como 'mais' e encontrá-lo você mesmo. Ou você pode colocá-lo na cabeça e esperar adivinhar o número de linhas necessárias. Ou você pode ser um pouco mais sofisticado e canalizá-lo através do sed e imprimir a linha que corresponde ao padrão desejado. Ou você pode usar o awk para fazer o mesmo. No meu cygwin bash shell, essas opções se parecem com estes comandos:

strings foo.avi | mais
strings foo.avi | cabeça -10
cordas foo.avi | sed -n '/ vids /, + 1p'
strings foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; impressão ; Saída } } '

A desvantagem da terceira versão é que eu sed processei o arquivo inteiro, por isso pode demorar um pouco para ser concluído. Estou confiante de que existe uma maneira de fazê-lo parar após a primeira partida, mas não sou suficientemente especialista em sed para saber (ou encontrar) isso. A versão do awk para explicitamente se a condição for verdadeira (obtenha a próxima linha, imprima isso, saia - enquanto o comando sed possui apenas os dois primeiros com +1 e p). Nos comandos sed e awk, o / vids / é a expressão regular de que precisamos (ou seja, a string de pesquisa na resposta de Chris acima). Além disso, a construção do awk 'NR == 1, / vids /' diz aplicar o seguinte bloco de código às linhas do número 1 (primeira linha de entrada) para onde quer que encontre a expressão regular (string correspondente). A condição if impede a impressão de todas as linhas até a que corresponder. Eu tenho que coincidir com a linha completa ($ 0), que para o comando strings, deve funcionar bem; as strings são impressas uma por linha de qualquer maneira.

Observe que a string encontrada pode incluir caracteres extras (por exemplo, no meu arquivo AVI, ela encontra 'strf (' not 'strf', que é o fourcc). Se você realmente precisar cortar em quatro caracteres (por exemplo, para um script que precise para comparar com uma lista padrão), você pode canalizar a resposta para 'head -c 4' e obter apenas o fourcc. Aqui está minha resposta final:

strings foo.avi | awk 'NR == 1, / vids / {if ($ 0 == "vids") {getline; impressão ; exit}} '| cabeça -c 4

FWIW, o Windows Media Player listou o codec no meu AVI como "-" para áudio e vídeo, mas o acima funcionou conforme o esperado.

Espero que valha a pena para alguém que passei algum tempo digitando isso! ;-)

Whew, Mark

Marca
fonte