Pages : 1
#1 Le 04/07/2014, à 20:47
- alfirdaous
[RESOLU]Repeter un code
Bonjour,
J'ai ce bout de code et je veux le mettre pour que ca se repete 4 fois tous les 60 secondes:
ffmpeg -itsoffset -60 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
resultat souhaitable est:
ffmpeg -itsoffset -60 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
ffmpeg -itsoffset -120 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
ffmpeg -itsoffset -180 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
ffmpeg -itsoffset -240 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
Merci a vous
Dernière modification par alfirdaous (Le 07/07/2014, à 12:05)
Hors ligne
#2 Le 04/07/2014, à 21:02
- Zakhar
Re : [RESOLU]Repeter un code
for offset in 60 120 180 240; do ffmpeg -itsoffset -$offset -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg; done
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#3 Le 05/07/2014, à 10:58
- credenhill
Re : [RESOLU]Repeter un code
hello
printf "%d\n" 60 120 180 240 | xargs -i ffmpeg -itsoffset -{} -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
Hors ligne
#4 Le 05/07/2014, à 13:24
- alfirdaous
Re : [RESOLU]Repeter un code
merci pour votre aide, mais je pense que lorsq'il termine le traitement de la premiere commande passe a la 2eme, et il trouve le meme fichier cible "test.jpg", alors il s'arrette:
File 'test.jpg' already exists. Overwrite ? [y/N]
Hors ligne
#5 Le 05/07/2014, à 14:11
- Sciensous
Re : [RESOLU]Repeter un code
les deux solutions correspondent bien à ce que tu réclamais
en effet tu réécris dans test.jpg; proposition =changer le nom, par exemple (1):
for offset in 60 120 180 240; do ffmpeg -itsoffset -$offset -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test_$offset.jpg; done
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#6 Le 05/07/2014, à 14:29
- credenhill
Re : [RESOLU]Repeter un code
pour écraser le fichier sans demander
ffmpeg -y ....
Hors ligne
#7 Le 05/07/2014, à 14:34
- Zakhar
Re : [RESOLU]Repeter un code
les deux solutions correspondent bien à ce que tu réclamais
Absolument, et qui plus est tu obtiendrais exactement la même chose en tapant les commandes à la main comme explicité dans ta demande au post #1
C'est donc ta demande qui est incorrecte, pas nos réponses !
Peux-tu reformuler ta demande s'il te plaît ?
"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)
Hors ligne
#8 Le 05/07/2014, à 17:42
- alfirdaous
Re : [RESOLU]Repeter un code
oui, apres manipulation j'ai trouve qu'il y ait une demande pour ecraser le fichier, vos codes sont correctes, et la solution proposee par Sciensous est excellente, sauf si je veux les nommer par exemple en:
test_001.png
test_002.png
test_003.png
test_004.png
Hors ligne
#9 Le 05/07/2014, à 20:15
- Sciensous
Re : [RESOLU]Repeter un code
alors compliquons un peu
n=0;for offset in 60 120 180 240; do n=$((n+1)); ffmpeg -itsoffset -$offset -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test_`printf "%03d" $n`.jpg; done
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#10 Le 06/07/2014, à 21:23
- alfirdaous
Re : [RESOLU]Repeter un code
merci Sciensous, j'ai essaye cette commande pour multiple videos, mais en vain:
printf "%s\n" {001..007} | xargs -i n=0;for offset in 60 120 180 240; do n=$((n+1)); ffmpeg -itsoffset -$offset -i test_{}.mp4 -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test_{}_`printf "%03d" $n`.jpg; done
resultat:
test_{}.mp4: No such file or directory
alors que les fichiers existent, en essayant avec un seul, ca marche bien
Hors ligne
#11 Le 07/07/2014, à 10:27
- credenhill
Re : [RESOLU]Repeter un code
xargs ou for, il faut utiliser l'un ou l'autre, pas les 2 ensemble, ne prendre que le code après n=0
Hors ligne
#12 Le 07/07/2014, à 12:04
- alfirdaous
Re : [RESOLU]Repeter un code
je l'ai place avant "ffmpeg -itsoffset" et ca marche:
code final:
n=0;for offset in 60 120 180 240; do n=$((n+1)); printf "%s\n" {001..030} | xargs -i ffmpeg -itsoffset -$offset -i INPUT.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 640x480 test_`printf "%03d" $n`.png; done
Hors ligne
#13 Le 07/07/2014, à 15:22
- credenhill
Re : [RESOLU]Repeter un code
exécuter 30x chaque commande, c'est ce que tu veux ?
Hors ligne
#14 Le 07/07/2014, à 16:09
- alfirdaous
Re : [RESOLU]Repeter un code
oui en renommant le fichier
Hors ligne
#15 Le 07/07/2014, à 16:16
- credenhill
Re : [RESOLU]Repeter un code
chaque commande est exécuée 30x avec le même fichier, mettre un echo devant ffmpeg pour voir
Hors ligne