Batch ffmpeg [Résolu]

Signaler
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020
-
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020
-
Bonjour à tous !

J'ai un petit soucis, j'essaye de me faire un fichier .bat qui convertie mes fichiers .jpg en vidéo .mp4
Voici mon bout de code:
launch.bat
ffmpeg -framerate 30 -i test_%04d.jpg output.mp4
pause


Je le glisse dans le dossier où il y a mes fichiers nommés:
test_0001.jpg, test_0002.jpg, test_0003.jpg, etc. je le lance et voici ce qu'il me dit: (image en pièce jointe)

Que faire? Merci !

6 réponses

Messages postés
18231
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 octobre 2020
5 043
hello
l'image est peu lisible, faire un opier/coller entre balise code
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020

Normalement si tu cliques sur l'image ça l'agrandit ! Voici le copier coller:

C:\Users\X\Desktop\test\TEST>ffmpeg -framerate 30 -i test_"C:\Users\X\Desktop\test\TEST\pic.bat"4d.jpg output.mp4
ffmpeg version N-92190-gb2adc31697 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 8.2.1 (GCC) 20181011
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
libavutil 56. 19.101 / 56. 19.101
libavcodec 58. 33.100 / 58. 33.100
libavformat 58. 19.100 / 58. 19.100
libavdevice 58. 4.105 / 58. 4.105
libavfilter 7. 33.101 / 7. 33.101
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
test_C:\Users\X\Desktop\test\TEST\launch.bat4d.jpg: Invalid argument

C:\Users\X\Desktop\test\TEST>pause
Appuyez sur une touche pour continuer...
Messages postés
18231
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
25 octobre 2020
5 043
j'ai téléchargé et agrandi l'image
je ne comprends pas ce que tu fais
%0 c'est le nom du .bat
le nom du fichier passé en paramètres ?
c'est quoi -i test_"C:\Users\X\Desktop\test\TEST\pic.bat"4d.jpg
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020

%04d = le nombre de digit qu'ont les images
4 = test_0000
3 = test_000
2 = test_00

J'ai pris ce bout de code ici:
https://hamelot.io/visualization/using-ffmpeg-to-convert-a-set-of-images-into-a-video/

C'est supposé convertir toutes les images qui s'appellent "test_" + 4 digits + .jpg en mp4
Messages postés
12762
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
25 octobre 2020
3 697
Bonjour,

Si c'est dans un script .bat il faut doubler le % comme ceci :
ffmpeg -framerate 30 -i test_%%04d.jpg output.mp4


Je ne suis pas sûr que l'argument -framerate existe encore, sur ma version c'est remplacé par l'argument -r

Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020

Merci ça marche impeccablement !
Petite question: qu'est-ce que je dois mettre dans mon code pour que ça override automatiquement (sans me demander) le fichier de sortie mp4 s'il existe déjà?

Merci!
Messages postés
12762
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
25 octobre 2020
3 697
ffmpeg n'a pas prévu d'option pour ce cas de figure, il faut donc au préalable effacer le fichier s'il existe déjà :

if exist output.mp4 (del /f output.mp4)
ffmpeg -framerate 30 -i test_%%04d.jpg output.mp4
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020
>
Messages postés
12762
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
25 octobre 2020

Super merci!
Deux dernières questions: j'ai essayé après coup de supprimer les images test_0000.jpg, test_0001.jpg, test_0002.jpg, etc..., mais sans succès avec:
(del /f test_%%04d.jpg)
Qu'est-ce qui cloche?

Et également comment j'aimerais couper ce fichier .mp4 créé (test_.mp4) et venir le coller dans un autre dossier (exemple: c:\tmp) ? Comment dois-je m'y prendre?

Merci beaucoup !
Messages postés
12762
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
25 octobre 2020
3 697 >
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020

%04d est une syntaxe propre à FFMPEG, l'interpréteur de commandes (cmd.exe) ne comprend pas cette syntaxe.

Tu peux faire simplement : del /f /q test*.jpg

Pour déplacer un fichier il y a la commande MOVE.
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020
>
Messages postés
12762
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
25 octobre 2020

Super, merci beaucoup !! :)