Batch ffmpeg [Résolu]

Signaler
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020
-
jen844
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
18110
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2020
4 691
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
18110
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2020
4 691
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
12526
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
22 mars 2020
2 840
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!
barnabe0057
Messages postés
12526
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
22 mars 2020
2 840
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
jen844
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020
> barnabe0057
Messages postés
12526
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
22 mars 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 !
barnabe0057
Messages postés
12526
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
22 mars 2020
2 840 > jen844
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.
jen844
Messages postés
6
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
21 mars 2020
> barnabe0057
Messages postés
12526
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
22 mars 2020

Super, merci beaucoup !! :)