script Encode

9 réponses
Avatar
Klaus Becker
Salut,

dans un dossier j'ai plein de fichiers mpg que je souhaite recoder avec=
=20
Encode (qui m'est d'une grande utilit=E9) avec le script :

for file in $(ls /home/klaus/.../*.mpg); do
Encode $file
done

Or le script traite tous les fichiers (presque) en m=EAme temps, puis=20=

s'arr=EAte en disant qu'il ne trouve pas les fichiers mpg.

Comment faire pour que les fichiers soient trait=E9s un par un, le 2e=20=

seulement lorsque le traitement du 1er est termin=E9 ?

librement

Klaus

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: https://lists.debian.org/2096423.kzk54O98rQ@1stein

9 réponses

Avatar
Guillaume
Bonjour,

Personnellement j'utiliserais plutôt la commande find que la commande ls

exemple :

find /home/klaus/.../ -type f -name *.mpg -exec Encode {} ;


Le 17/06/2015 09:54, Klaus Becker a écrit :
Salut,

dans un dossier j'ai plein de fichiers mpg que je souhaite recoder avec
Encode (qui m'est d'une grande utilité) avec le script :

for file in $(ls /home/klaus/.../*.mpg); do
Encode $file
done

Or le script traite tous les fichiers (presque) en même temps, puis
s'arrête en disant qu'il ne trouve pas les fichiers mpg.

Comment faire pour que les fichiers soient traités un par un, le 2e
seulement lorsque le traitement du 1er est terminé ?

librement

Klaus




Cordialement,
Guillaume

--
Guillaume

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Bernard Schoenacker
Le Wed, 17 Jun 2015 09:54:11 +0200,
Klaus Becker a écrit :

Salut,

dans un dossier j'ai plein de fichiers mpg que je souhaite recoder
avec Encode (qui m'est d'une grande utilité) avec le script :

for file in $(ls /home/klaus/.../*.mpg); do
Encode $file
done

Or le script traite tous les fichiers (presque) en même temps, puis
s'arrête en disant qu'il ne trouve pas les fichiers mpg.

Comment faire pour que les fichiers soient traités un par un, le 2e
seulement lorsque le traitement du 1er est terminé ?

librement

Klaus




bonjour,

serait il possible de modifier le script pour que encode ne travaille
que sur un seul fichier (?) :

Encode $file $file.avi


slt
bernard

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Jean-Jacques Doti
Bonjour,

Le 17/06/2015 09:54, Klaus Becker a écrit :
Salut,

dans un dossier j'ai plein de fichiers mpg que je souhaite recoder avec
Encode (qui m'est d'une grande utilité) avec le script :

for file in $(ls /home/klaus/.../*.mpg); do
Encode $file
done

Or le script traite tous les fichiers (presque) en même temps, puis
s'arrête en disant qu'il ne trouve pas les fichiers mpg.

Comment faire pour que les fichiers soient traités un par un, le 2e
seulement lorsque le traitement du 1er est terminé ?


Il est difficile de comprendre ce qu'il se passe sans avoir plus de
détails concernant l'erreur, le mode de fonctionnement du script ou le
shell utilisé…

Que s'affiche-t-il si tu n'exécutes que la commande ls ?
ls /home/klaus/.../*.mpg

Si tu exécutes manuellement ton script Encode avec un seul argument,
est-ce que le script te rends la main immédiatement ou seulement à la
fin du traitement ?

Et puis, quels messages obtiens-tu exactement lorsque tu exécutes ta
boucle de traitement ?

A+
Jean-Jacques

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Sébastien NOBILI
Bonjour,

Le mercredi 17 juin 2015 à 9:54, Klaus Becker a écrit :
for file in $(ls /home/klaus/.../*.mpg); do
Encode $file
done

Or le script traite tous les fichiers (presque) en même temps, puis
s'arrête en disant qu'il ne trouve pas les fichiers mpg.

Comment faire pour que les fichiers soient traités un par un, le 2e
seulement lorsque le traitement du 1er est terminé ?



Cette construction (« for ») boucle _successivement_ sur les différents
fichiers, elle correspond donc tout à fait à ce que tu recherches.

Cependant, si la commande qui se trouve dans la boucle fait un « fork »
(c'est-à-dire qu'elle rend la main immédiatement et fait son traitement en
arrière-plan), alors le traitement des différents fichiers se fera en parallèle.

Mais ton problème est-il vraiment là ?

J'ai bien l'impression que ta commande « Encode » (que je ne connais pas) échoue
faute d'arguments nécessaires (tu ne lui indiques pas de fichier de sortie). Si
c'est le cas, elle doit afficher un message d'erreur et rendre la main, ce qui
serait plutôt normal.

Sébastien

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Klaus Becker
Le mercredi 17 juin 2015, 10:07:04 Guillaume a écrit :
Bonjour,

Personnellement j'utiliserais plutôt la commande find que la
commande ls

exemple :

find /home/klaus/.../ -type f -name *.mpg -exec Encode {} ;

Le 17/06/2015 09:54, Klaus Becker a écrit :
> Salut,
>
> dans un dossier j'ai plein de fichiers mpg que je souhaite recoder
> avec Encode (qui m'est d'une grande utilité) avec le script :
>
> for file in $(ls /home/klaus/.../*.mpg); do
>
> Encode $file
>
> done
>
> Or le script traite tous les fichiers (presque) en même temps,
> puis
> s'arrête en disant qu'il ne trouve pas les fichiers mpg.
>
> Comment faire pour que les fichiers soient traités un par un, le
> 2e
> seulement lorsque le traitement du 1er est terminé ?
>
> librement
>
> Klaus

Cordialement,
Guillaume




merci pour les solutions proposées, mais toutes donnent le même
résultat, alors que Encode fonctionne lorsque je lui indique un seul
fichier :

$ bash encode.sh
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch5
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch5.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch5.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch6
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch6.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch6.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch7
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch7.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch7.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch8
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch8.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch8.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts
$ bash encode.sh
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch5
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch5.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch5.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch6
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch6.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch6.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch7
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch7.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch7.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch8
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch8.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch8.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch9
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch9.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch9.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
/home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschungel buch9
Passe: 0
VBirate:
SBitrate: 64
FILTRE:
Son:
x
Format: 640 x 496
Filtre utilisé: scaled0:496
Format:
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
File not found:
'..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschu ngelbuch9.mpg'
Failed to open
..//home/klaus/multimedia/video/fifinette/dreambox/dschungelbuch/dschun gelbuch9.mpg.
Cannot open file/device.

Exiting...
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)
MPlayer SVN-r37401 (C) 2000-2015 MPlayer Team
Error parsing option on the command line: -lavcopts

Exiting... (error parsing command line)




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Arnaud Deman
Bonjour,

En bash, je ferais comme ça :
for file in /home/klaus/../*.mpg; do
Encode $file
done

Il me semble que les parenthèses lancent un sous processus.

Bonne journée
Arnaud.

Le 2015-06-17 09:54, Klaus Becker a écrit :
Salut,

dans un dossier j'ai plein de fichiers mpg que je souhaite recoder avec
Encode (qui m'est d'une grande utilité) avec le script :

for file in $(ls /home/klaus/.../*.mpg); do
Encode $file
done

Or le script traite tous les fichiers (presque) en même temps, puis
s'arrête en disant qu'il ne trouve pas les fichiers mpg.

Comment faire pour que les fichiers soient traités un par un, le 2e
seulement lorsque le traitement du 1er est terminé ?

librement

Klaus



--
Arnaud Deman
Tél. 04 94 14 67 59
DSIUN - Université du Sud Toulon Var
Avenue de l'Université
BP 20132 - 83130 La Garde

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Klaus Becker
Le mercredi 17 juin 2015, 10:31:44 Sébastien NOBILI a écrit :
Bonjour,

Le mercredi 17 juin 2015 à 9:54, Klaus Becker a écrit :
> for file in $(ls /home/klaus/.../*.mpg); do
>
> Encode $file
>
> done
>
> Or le script traite tous les fichiers (presque) en même temps,
> puis
> s'arrête en disant qu'il ne trouve pas les fichiers mpg.
>
> Comment faire pour que les fichiers soient traités un par un, le
> 2e
> seulement lorsque le traitement du 1er est terminé ?

Cette construction (« for ») boucle _successivement_ sur les
différents fichiers, elle correspond donc tout à fait à ce que tu
recherches.

Cependant, si la commande qui se trouve dans la boucle fait un
« fork » (c'est-à-dire qu'elle rend la main immédiatement et fait
son traitement en arrière-plan), alors le traitement des différen ts
fichiers se fera en parallèle.

Mais ton problème est-il vraiment là ?

J'ai bien l'impression que ta commande « Encode » (que je ne conn ais
pas) échoue faute d'arguments nécessaires (tu ne lui indiques pas
de fichier de sortie). Si c'est le cas, elle doit afficher un
message d'erreur et rendre la main, ce qui serait plutôt normal.

Sébastien



Salut Sébastien,

le script Encode ne nécessite pas l'indication d'un fichier de sortie .
Par ex "Encode video.mpg" crée le fichier E_video.avi.

C'était la proposition de Bernard si j'ai bien compris :
"Encode $file $file.avi", mais cela ne fonctionne pas non plus.

Klaus


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
cedric rousselot
Bonjour,
aprèsavoir jeté un œil (voire même les deux), il apparait que les
variables définissant les fichiers de sortie sont relatives:

FILM=../$1
RESULTAT=../E_$NOM.avi

Donc, si on passe comme argument un chemin complet
(/home/chemin/vers/fichier/complet), le résultat sera incohérent.
ex:
Test=/home/wardog/Dropbox/bdc
echo ../$Test
..//home/wardog/Dropbox/bdc

Voila d’où ca vient.
Pour contourner le problème, mettez-vous dans le répertoire où se
trouvent les fichiers a encoder et spécifiez le chemin complet vers le
script et remplacer votre chemin vers les fichiers par *.mpg

A partir de là, ce qui est fourni au script par le bash, c'est un chemin
relatif ce qui ne posera a priori pas de problème.

Bon courage.
Cedric

On 06/17/2015 10:55 AM, Klaus Becker wrote:
Le mercredi 17 juin 2015, 10:34:13 Klaus Becker a écrit :

voici le script pour info.

Il a été écrit par un membre de la liste et c'est ici que je l'ai
découvert. J'ai un trou de mémoire pour le nom...

Le script ramène la taille de tout fichier mpg et d'autres formats à
700 MO, sans perte visible de la qualité de la vidéo.

ciao

Klaus



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/
Avatar
Klaus Becker
Le mercredi 17 juin 2015, 11:23:11 cedric rousselot a écrit :
Bonjour,
aprèsavoir jeté un œil (voire même les deux), i l apparait que les
variables définissant les fichiers de sortie sont relatives:

FILM=../$1
RESULTAT=../E_$NOM.avi

Donc, si on passe comme argument un chemin complet
(/home/chemin/vers/fichier/complet), le résultat sera incohé rent.
ex:
Test=/home/wardog/Dropbox/bdc
echo ../$Test
..//home/wardog/Dropbox/bdc

Voila d’où ca vient.
Pour contourner le problème, mettez-vous dans le répertoire où se
trouvent les fichiers a encoder et spécifiez le chemin complet v ers
le script et remplacer votre chemin vers les fichiers par *.mpg

A partir de là, ce qui est fourni au script par le bash, c'est u n
chemin relatif ce qui ne posera a priori pas de problème.

Bon courage.
Cedric




en effet, cela semble fonctionner, au moins pour le 1er fichier dans la
liste. Il n'y a pas de raison que cela ne fonctionne pas pour les
autres fichiers dans la file d'attente.

merci

Klaus

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: https://lists.debian.org/