Extraire par lots des images de * .mts toutes les 30 secondes?

1

Pardonnez-moi car je commence tout juste avec ffmpeg. J'ai un dossier de vidéos * .mts (les titres sont un peu loufoques, beaucoup d'espaces, de caractères et de chiffres - je ne suis pas sûr que cela l'affecte) et j'ai besoin d'extraire des images toutes les 30 secondes pour toutes les vidéos d'un dossier.

J'ai de bons scripts pour l'extraire un par un, tels que

ffmpeg -i "* .mts" -start_number 0 -vf fps = 1/30 "B 00-% 02d-30.000.png"

Cependant, je dois créer un fichier de commandes pour le faire pour tous les fichiers .mts d'un dossier spécifié.

Toute chance que quelqu'un puisse m'expliquer comment l'écrire (en supposant que le fichier de commandes se trouve au même endroit que les photos)?

Merci

Alissa Marie Exantus
la source

Réponses:

1

Je voudrais utiliser la forcommande:

for /f "delims=|" %%f in ('dir /b *.mts') do (ffmpeg -i "%%f" -start_number 0 -vf fps=1/30 "B 00-%02d-30.000.png")

Je n'ai pas vérifié la syntaxe de votre commande ffmpeg, mais cela devrait fonctionner à partir d'un fichier de commandes lorsqu'il est exécuté avec le répertoire de travail constituant le chemin de votre dossier. Sinon , vous pouvez changer dir /b *.mtsà quelque chose comme dir /b C:\FolderWithFiles\*.mtsou utiliser %~dp0pour avoir utiliser le chemin où vit votre fichier de commandes.

EDIT: En outre, s'il vous plaît noter que si vous essayez de tester la commande en dehors d'un fichier de commandes et directement à partir de l'invite de commande, vous devrez changer le %%f« s être %f.

DustinRS
la source