Respostas:
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.
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.
Procure o código FourCC para o codec de vídeo do arquivo
Visite o site da FourCC e descubra quem desenvolve esse codec
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.
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