web-dev-qa-db-fra.com

Comment trouver le codec pour un AVI?

Comment puis-je trouver quel codec a un fichier avi a besoin? Une méthode qui ne nécessite pas de télécharger un programme serait préférable (par exemple en regardant le fichier de bloc-notes).

19
C. Ross

Ouvert dans le Bloc-notes, effectuez une recherche sur 'Vids' - le Fourcc est juste après cela. Par exemple, vous trouverez quelque chose comme:

vidswmv1

Ensuite, Google pour "FOURCC WMV1" dans cet exemple.

24
Chris

Il s'agit d'un processus très simple et peut être fait à l'aide de l'outil d'information Codec GSPOT . Il suffit de télécharger le programme et de l'installer. Maintenant, entrez dans votre menu Démarrer et ouvrez le programme.

  1. Sélectionnez Fichier | Ouvrez et sélectionnez votre fichier AVI
  2. Recherchez le code FOURCC pour le codec vidéo du fichier

  3. Visitez le site Web de Fourcc et découvrez qui développe ce codec

  4. Vous pouvez maintenant aller au site Web de ce développeur pour télécharger votre codec. Vous pouvez également visiter la section Codec de Wmplugins.

Remarque: Ne téléchargez rien étiqueté comme "pack codec" ou des liens en haut du site Web de Fourcc. Cela vous aidera à rester à court de problèmes lors de la lecture de vos fichiers.

VLC prend en charge DivX et 3IVX intégré pour toutes les plates-formes.

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

21
joe

J'avais juste besoin de cela, j'ai trouvé cette page (très ancienne) et j'ai décidé que je préférerais ne pas charger ma 260 Mo AVI dans un éditeur de texte, alors peut-être que ma solution aidera quelqu'un d'autre.

Si vous avez une coquille de type UNIX, vous avez probablement un programme appelé "Strings" qui trouve des séquences de caractères imprimables. Par défaut, la longueur minimale est de quatre, ce qui est bien à ce besoin. (Il peut être modifié sur la ligne de commande.) Les "Vids" et le Fourcc est consécutif dans la sortie (mais pas une chaîne dans mon AVI).

Vous pouvez tuyer le résultat en quelque chose de simple comme "plus" et de le trouver vous-même. Ou vous pourriez la conduire dans la tête et espérer deviner le nombre de lignes dont vous aurez besoin. Ou vous pourriez être un peu plus sophistiqué et piperez-le par SED et d'imprimer la ligne qui correspond au modèle souhaité. Ou vous pouvez utiliser awk pour faire la même chose. Sur ma coquille Cygwin Bash, ces options ressemblent à ces commandes:

strings foo.avi | Suite
Strings foo.avi | tête -10
Chaînes foo.avi | sed -n '/ vids /, + 1p'
Strings foo.avi | awk 'nr == 1,/vids/{si ($ 0 == "vids") {getline; imprimer ; sortir } } '

L'inconvénient de la troisième version est que j'ai un traitement SED le fichier entier, afin que cela puisse prendre un certain temps. Je suis convaincu qu'il y a un moyen de le faire arrêter après le premier match, mais je ne suis pas suffisamment expert avec SED pour savoir (ou trouver) cela. La version AWK s'arrête explicitement si la condition est vraie (obtenez la ligne suivante, imprimez-la, sortie - alors que la commande sed n'a que les deux premiers de ceux avec +1 et P). Dans la commande SED et AWK, la/VIDS/est l'expression régulière dont nous avons besoin (c'est-à-dire la chaîne de recherche dans la réponse de Chris ci-dessus). En outre, la construction AWK 'NR == 1,/Vids /' indique d'appliquer le bloc de code suivant sur les lignes de Numéro 1 (première ligne d'entrée) à partout où il trouve cette expression régulière (chaîne correspondante). La condition IF empêche d'imprimer toutes les lignes jusqu'à celui qui correspond. Je l'ai correspondre à la ligne complète (0 $), qui, pour la commande des chaînes, devrait fonctionner correctement; Les chaînes sont imprimées de toute façon par ligne.

Notez que la chaîne qu'il trouve peut bien inclure des caractères supplémentaires (par exemple à partir de mon fichier AVI, il trouve "STRF (" non "Strf" qui est le Fourcc). Si vous avez vraiment besoin de le couper à quatre caractères (par exemple, pour un script qui a besoin Pour le faire correspondre à une liste standard), vous pouvez pipeler la réponse à la "tête-c 4" et obtenir juste la Fourcc. Voici ma réponse finale:

strings foo.avi | awk 'nr == 1,/vids/{si ($ 0 == "vids") {getline; imprimer ; sortie}} '| tête -c 4

FWIW, Windows Media Player a répertorié le codec dans mon AVI comme "-" pour l'audio et la vidéo, mais ce qui précède comme prévu.

J'espère que cela valait la peine à quelqu'un que j'ai passé du temps à taper ça! ;-)

Ouf, Mark

0
Mark