Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile

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

Sciensous a écrit :

les deux solutions correspondent bien à ce que tu réclamais smile

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 smile

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