J'essaie de convertir plus de 20 fichiers .avi dans un lot à l'aide de ffmpeg.
J'ai le suivant
@echo off.
for file in *.avi
do
ffmpeg -i "$file" -s 640x480 -vcodec msmpeg4v2 "'basename "$file" .avi'.mpg';
done
dans mon fichier .bat mais cela ne fonctionne pas. Comment puis-je le faire fonctionner sous Windows OS. Oh, et oui tous les fichiers sont dans le même dossier.
Le message d'erreur que j'obtiens:
Le fichier était inattendu à ce moment
windows
conversion
ffmpeg
batch-file
Darius
la source
la source
cmd
) puis exécuter le fichier de commandes en utilisant son chemin complet à partir de là. Que voulez-vous réellement faire avec les vidéos? De quel genre de vidéos s'agit-il? Avez-vous juste besoin de les déplacer vers un conteneur MPG? Ou avez-vous besoin de les redimensionner? Ou avez-vous spécifiquement besoin dumsmpeg4v2
codec?ffmpeg -i input.avi -c:v libx264 -crf 23 -s 640x480 output.mp4
où la valeur CRF définit la qualité (moins c'est mieux, plus c'est pire, des valeurs sensées de 19 à 24). Voir aussi: Convertir d'anciennes vidéos pour avoir des tailles plus petites et Quels paramètres dois-je rechercher pour réduire la taille d'un fichier .MOV?Réponses:
Votre fichier de commandes n'est pas au format correct pour un script de chauve-souris Windows. Au lieu de cela, votre script semble être destiné à Linux. Vous devrez modifier le script pour utiliser une boucle for prise en charge par le shell Windows.
Vous trouverez ci-dessous un exemple de la façon d'accomplir cette tâche en utilisant une boucle Windows pour. Mettez simplement la ligne ci-dessous dans votre fichier batch et déplacez le script dans le même répertoire que les fichiers avi, puis exécutez-le.
la source
[NULL @ 000000000037e360] Unable to find a suitable output format for 'outputfile.avi.mpg;' outputfile.avi.mpg:: Invalid argument