De l'usage du caractère d'échappement (Was Re: Question ffmpeg)

2011-05-12 Par sujet Séb Buch

Bonjour,

On 05/11/2011 10:42 PM, Fred Z. Free wrote:

ca marche mais sans ls 
Mais le problème est que les fichiers avec espace (presque tous) il ne
les prends pas!


J'en déduis que ça ne marche que moyennement dans ce cas là...
Le problème des espaces est une question récurrente sur la liste (en 
fait dès qu'on commence à utiliser le shell).
Comme, c'est le matin, que je suis à peu près réveillé et de bonne 
humeur (et surtout que j'ai 10 minutes devant moi), je vais essayer de 
faire un petit blabla pour expliquer les choses.

Prenons comme exemple la commande suivante:

toto mon dossier/mon fichier

Le problème est de savoir comment est interprété "mon dossier/mon 
fichier"? Comme un seul argument (ce qu'on voudrait ici) ou comme 3 
arguments différents?
En fait, le shell découpe la ligne de commande à partir des espaces, ce 
qui donne ici:


"toto", "mon", "dossier/mon", "fichier"

Le premier élément correspond à une commande et tous les autres vont 
être passés à la commande comme des arguments... Sauf que ce n'est pas 
ça que l'on veut.
Si on veut que le shell ne tronçonne pas un espace, on peut (par 
exemple) placer un caractère d'échappement 
(http://fr.wikipedia.org/wiki/Caract%C3%A8re_d%27%C3%A9chappement) 
devant lui.

En l'occurrence, le caractère d'échappement est "\"; ce qui donne:

toto mon\ dossier/mon\ fichier

qui sera tronçonné en:

"toto" et "mon dossier/mon fichier"

ce qui correspond bien à ce qu'on le veut.

Une fois qu'on sait ça, on peut corriger les commandes/scripts qu'on a 
copié/collé puis exécuté sans les avoir regardé de près. :)


Séb

--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Question ffmpeg

2011-05-11 Par sujet Fred Z. Free

Le 11/05/2011 22:16, Séb Buch a écrit :

Au temps pour moi, j'avais pondu ça sans le testé.
Après vérification, il s'avère que ls rajoute le chemin quand 
l'argument est un fichier. Du coup la "commande" est en réalité la 
suivante:


cd /home/fred/hits; for fname in `ls *.mp3`; do ffmpeg -i $fname -ab 
256k /home/fred/trucmuch/$fname; done;


Cela dit, les autres commentaires restent valables.


resalut,

ca marche mais sans ls 
Mais le problème est que les fichiers avec espace (presque tous) il ne 
les prends pas!


Merci

Frédéric ZECH


-- 
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte

Re: Question ffmpeg

2011-05-11 Par sujet Séb Buch

On 05/11/2011 06:59 PM, Fred Z. Free wrote:

Le 11/05/2011 18:36, Séb Buch a écrit :

for fname in `ls /home/fred/hits/*.mp3`; do ffmpeg -i
/home/fred/hits/$fname -ab 256k /home/fred/trucmuch/$fname; done;


Bonsoir,

ta commande me donne :
/home/fred/hits//home/fred/hits/Telephone.mp3: No such file or directory



Au temps pour moi, j'avais pondu ça sans le testé.
Après vérification, il s'avère que ls rajoute le chemin quand l'argument 
est un fichier. Du coup la "commande" est en réalité la suivante:


cd /home/fred/hits; for fname in `ls *.mp3`; do ffmpeg -i $fname -ab 
256k /home/fred/trucmuch/$fname; done;


Cela dit, les autres commentaires restent valables.

--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Question ffmpeg

2011-05-11 Par sujet Fred Z. Free

Le 11/05/2011 21:38, Fred Z. Free a écrit :

Le 11/05/2011 21:34, Cazzaniga Sandro a écrit :

Le 11/05/2011 21:33, Fred Z. Free a écrit :

En fait je voulait convertir par lot en j'ai rien trouvé en gui mais la
ligne de commande ne me dérange pas!
J'essaierai de trouver un script mais je ne trouve pas par lots, car
j'ai 300 chansons a convertir!

frédéric

une boucle for sinon?


Oui mais j'arrive pas a changer de dossier!

sinon j'ai trouvé ça :
#!/bin/sh
v_=$IFS
IFS='
'
for i in $@; do
ffmpeg -i "$i" -ac 2 -ab 192k -ar 44100 "$i".mp3
done
IFS=$v_
exit 0

Je cliquerai sur chacun de mes 300 fichiers mais il me reprends "mon 
fichier" avec ".mp3.mp3"

Je devrait donc les renommer tous les 300!

Sinon je trouverai bien!!

Frédéric




Soundconverter m'a résolu le problème!!

frédéric ZECH

--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Question ffmpeg

2011-05-11 Par sujet Fred Z. Free

Le 11/05/2011 21:34, Cazzaniga Sandro a écrit :

Le 11/05/2011 21:33, Fred Z. Free a écrit :

En fait je voulait convertir par lot en j'ai rien trouvé en gui mais la
ligne de commande ne me dérange pas!
J'essaierai de trouver un script mais je ne trouve pas par lots, car
j'ai 300 chansons a convertir!

frédéric

une boucle for sinon?


Oui mais j'arrive pas a changer de dossier!

sinon j'ai trouvé ça :
#!/bin/sh
v_=$IFS
IFS='
'
for i in $@; do
ffmpeg -i "$i" -ac 2 -ab 192k -ar 44100 "$i".mp3
done
IFS=$v_
exit 0

Je cliquerai sur chacun de mes 300 fichiers mais il me reprends "mon 
fichier" avec ".mp3.mp3"

Je devrait donc les renommer tous les 300!

Sinon je trouverai bien!!

Frédéric



--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Question ffmpeg

2011-05-11 Par sujet Cazzaniga Sandro
Le 11/05/2011 21:33, Fred Z. Free a écrit :
> 
> En fait je voulait convertir par lot en j'ai rien trouvé en gui mais la
> ligne de commande ne me dérange pas!
> J'essaierai de trouver un script mais je ne trouve pas par lots, car
> j'ai 300 chansons a convertir!
> 
> frédéric
une boucle for sinon?

-- 
Sandro Cazzaniga - https://lederniercoupdarchet.wordpress.com
IRC: Kharec (irc.freenode.net)
Software/Hardware geek
Conceptor
Magnum's Coordinator/editor (http://wiki.mandriva.com/fr/Magnum)
Mageia and Mandriva contributor

-- 
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Question ffmpeg

2011-05-11 Par sujet Fred Z. Free

Le 11/05/2011 21:30, luna...@gmail.com a écrit :

>
>
>
>
> Salut,
>
>
>
> La commande ne marche pas non plus sans le slash devant $fname ce 
qui me semblait bizarre quand même, n'empêche qu'on peut ne pas s'y 
connaitre en bash mais qu'on peut quand même pouvoir compiler ffmpeg 
pour convertir des aussi des mp4...

>
>

Si tu donnes pas le retour de la commande cette fois on peut rien 
faire pour toi.
Pour la compilation de ffmpeg elle n'apporte pas le support du mp4 
mais de meilleures perfs avec libx264, c'est pas du tout la même chose


Du coup tu devrais regarder du côté des gui qui sont sur la page wiki 
de ffmpeg, voir arista pour tes vidéos mp4 et du audioconverter/script 
nautilus pour tes mp3


Cédric 


En fait je voulait convertir par lot en j'ai rien trouvé en gui mais la 
ligne de commande ne me dérange pas!
J'essaierai de trouver un script mais je ne trouve pas par lots, car 
j'ai 300 chansons a convertir!


frédéric


--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Question ffmpeg

2011-05-11 Par sujet Cédric Dupont
> La commande ne marche pas non plus sans le slash devant $fname ce qui me
> semblait bizarre quand même, n'empêche qu'on peut ne pas s'y connaitre en
> bash mais qu'on peut quand même pouvoir compiler ffmpeg pour convertir des
> aussi des mp4...
>


Si tu donnes pas le retour de la commande cette fois on peut rien
faire pour toi.
Pour la compilation de ffmpeg elle n'apporte pas le support du mp4
mais de meilleures perfs avec libx264, c'est pas du tout la même chose

Du coup tu devrais regarder du côté des gui qui sont sur la page wiki
de ffmpeg, voir arista pour tes vidéos mp4 et du audioconverter/script
nautilus pour tes mp3

Cédric

-- 
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Question ffmpeg

2011-05-11 Par sujet Fred Z. Free

Le 11/05/2011 21:13, luna...@gmail.com a écrit :

> for
> fname in `ls /home/fred/hits/*.mp3`; do ffmpeg -i 
/home/fred/hits/$fname -ab 256k /home/fred/trucmuch/$fname; done;

> ta commande me donne :
>
> /home/fred/hits//home/fred/hits/Telephone.mp3: No such file or
> directory

Il ne faut pas copier-coller ce qu'on te donne sans chercher à 
comprendre, tu n'y apprendras rien et tu vas plutot risquer de faire 
des bêtises. Si je te dis fait un "sudo rm -rf /*" faut au moins 
pouvoir comprendre ce qu'il va se passer.
Séb a très bien situé les choses, il semble bizarre que tu veuilles 
utiliser ffmpeg pour une action que lame ferait. Encore plus de 
chercher à le compiler alors que tu n'a pas pu relire le simple code 
qu'il a donné (rien de péjoratif, mais juste que si l'on ne connait 
pas du tout le shell, la compilation est à proscrire)
Donc je suggèrerais aussi l'add-on pour nautilus qui fait de la 
conversion audio.


Pour revenir à la ligne qu'il t'a donné, le // est le problème, donc 
tu à juste à enlever / devant $fname. Tu peux aussi faire cette boucle 
avec un while. Et plein d'autres moyens, c'est la beauté du shell.
Et non pas besoin de mettre ca dans un fichier avec un #!/bin/sh ou 
autre shell, ca passe directement en ligne, le fichier script ne sera 
utile que si tu dois lancer la manip plusieurs fois.


Cédric 


Salut,

La commande ne marche pas non plus sans le slash devant $fname ce qui me 
semblait bizarre quand même, n'empêche qu'on peut ne pas s'y connaitre 
en bash mais qu'on peut quand même pouvoir compiler ffmpeg pour 
convertir des aussi des mp4...


Cordialement.
Frédéric

--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Re: Question ffmpeg

2011-05-11 Par sujet lunarok

for
fname in `ls /home/fred/hits/*.mp3`; do ffmpeg -i /home/fred/hits/$fname  
-ab 256k /home/fred/trucmuch/$fname; done;

ta commande me donne :



/home/fred/hits//home/fred/hits/Telephone.mp3: No such file or
directory


Il ne faut pas copier-coller ce qu'on te donne sans chercher à comprendre,  
tu n'y apprendras rien et tu vas plutot risquer de faire des bêtises. Si je  
te dis fait un "sudo rm -rf /*" faut au moins pouvoir comprendre ce qu'il  
va se passer.
Séb a très bien situé les choses, il semble bizarre que tu veuilles  
utiliser ffmpeg pour une action que lame ferait. Encore plus de chercher à  
le compiler alors que tu n'a pas pu relire le simple code qu'il a donné  
(rien de péjoratif, mais juste que si l'on ne connait pas du tout le shell,  
la compilation est à proscrire)
Donc je suggèrerais aussi l'add-on pour nautilus qui fait de la conversion  
audio.


Pour revenir à la ligne qu'il t'a donné, le // est le problème, donc tu à  
juste à enlever / devant $fname. Tu peux aussi faire cette boucle avec un  
while. Et plein d'autres moyens, c'est la beauté du shell.
Et non pas besoin de mettre ca dans un fichier avec un #!/bin/sh ou autre  
shell, ca passe directement en ligne, le fichier script ne sera utile que  
si tu dois lancer la manip plusieurs fois.


Cédric
-- 
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte

Re: Question ffmpeg

2011-05-11 Par sujet Byb


- Original Message - 
From: Fred Z. Free

To: ubuntu-fr@lists.ubuntu.com
Sent: Wednesday, May 11, 2011 6:59 PM
Subject: Re: Question ffmpeg


Le 11/05/2011 18:36, Séb Buch a écrit :
for fname in `ls /home/fred/hits/*.mp3`; do ffmpeg -i /home/fred/hits/$fname 
-ab 256k /home/fred/trucmuch/$fname; done;


Bonsoir,

ta commande me donne :
/home/fred/hits//home/fred/hits/Telephone.mp3: No such file or directory

Cela ne donne rien, les deux dossiers portent bien leurs noms!

Frédéric ZECH.

Dommage, elle était belle la commande !
Tu l'as bine mise dans un script avec le choubang au début?
Je dis ça, je dis rien, hein! J'y pompe rien en programmation.
On dirait qu'elle te dis qu'elle n'a pas trouvé le fichier qu'elle a trouvé !
Y'a de quoi devenir chèvre avec des messages comme ça !




--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte 




--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Question ffmpeg

2011-05-11 Par sujet Fred Z. Free

Le 11/05/2011 18:36, Séb Buch a écrit :
for fname in `ls /home/fred/hits/*.mp3`; do ffmpeg -i 
/home/fred/hits/$fname -ab 256k /home/fred/trucmuch/$fname; done;


Bonsoir,

ta commande me donne :
/home/fred/hits//home/fred/hits/Telephone.mp3: No such file or directory

Cela ne donne rien, les deux dossiers portent bien leurs noms!

Frédéric ZECH.


-- 
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte

Re: Question ffmpeg

2011-05-11 Par sujet Séb Buch

Bonjour,

On 05/11/2011 05:59 PM, Fred Z. Free wrote:

Le 11/05/2011 17:46, Fred Z. Free a écrit :

Bonjour,

Je viens juste de compiler ffmpeg vu ici
http://doc.ubuntu-fr.org/tutoriel/comment_compiler_ffmpeg
mais j'aimerai en fait savoir comment convertir par lot en gardant le
même nom de fichier (outpout dans un dossier différent)

fichiers source en mp3 dans /home/fred/hits
fichiers convertis /home/fred/trucmuch


Je passe sur le fait que compiler ffmpeg alors qu'il est dans les dépôts 
est inutile. (sauf à vouloir utiliser une version plus récente pour 
avoir accès à des fonctionnalités nouvelles et/ou éviter un bug 
corrigé... mais ce n'est pas le cas ici)


Je passe aussi sur le fait que pour manipuler des mp3, lame fait très 
bien l'affaire (il est même fait pour ça)... D'ailleurs ffmpeg utilise 
libmp3lame pour générer l'encodage audio mp3.




j'ai beau chercher, j'ai pas trouvé de docs simple...


Sans doute parce que ce n'est pas une question de ffmpeg mais de script: 
comment exécuter la même commande sur plusieurs fichiers.
Cela n'a d'ailleurs pas de rapport avec Ubuntu mais c'est effectivement 
le genre de chose qui peut toujours être intéressant de connaitre.




J'ai oublié de préciser ma commande :
ffmpeg /home/fred/hits/*.mp3 -i -ab 256k /home/fred/trucmuch/$mp3


Enfin, je passe sur le fait que cette commande est erronée. (voir la 
version corrigée)


Parmi la foultitude de possibilités pour exécuter la même commande sur 
plusieurs fichiers, en voilà une variante qui peut être exécutée 
directement dans la console (c'est du bash):


for fname in `ls /home/fred/hits/*.mp3`; do ffmpeg -i 
/home/fred/hits/$fname -ab 256k /home/fred/trucmuch/$fname; done;



Evidemment, je suppose que les fichiers mp3 d'origine ont un 
échantillonnage > à 256kHz. Sinon cela ne sert à rien (il n'y a que dans 
les séries TV qu'il y est possible de générer de l'information là où 
elle n'existe pas).


Séb

--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Re: Question ffmpeg

2011-05-11 Par sujet Fred Z. Free

Le 11/05/2011 17:46, Fred Z. Free a écrit :

Bonjour,

Je viens juste de compiler ffmpeg vu ici
http://doc.ubuntu-fr.org/tutoriel/comment_compiler_ffmpeg
mais j'aimerai en fait savoir comment convertir par lot en gardant le 
même nom de fichier (outpout dans un dossier différent)


fichiers source en mp3 dans /home/fred/hits
fichiers convertis /home/fred/trucmuch

j'ai beau chercher, j'ai pas trouvé de docs simple...

Merci d'avance.

Frédéric ZECH.



Rebonjour,

J'ai oublié de préciser ma commande :
ffmpeg /home/fred/hits/*.mp3 -i -ab 256k /home/fred/trucmuch/$mp3

mais si celà marchait je ne serai pas là...

Frédéric ZECH.


--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte


Question ffmpeg

2011-05-11 Par sujet Fred Z. Free

Bonjour,

Je viens juste de compiler ffmpeg vu ici
http://doc.ubuntu-fr.org/tutoriel/comment_compiler_ffmpeg
mais j'aimerai en fait savoir comment convertir par lot en gardant le 
même nom de fichier (outpout dans un dossier différent)


fichiers source en mp3 dans /home/fred/hits
fichiers convertis /home/fred/trucmuch

j'ai beau chercher, j'ai pas trouvé de docs simple...

Merci d'avance.

Frédéric ZECH.


--
Liste de diffusion ubuntu-fr ubuntu-fr@lists.ubuntu.com
Pour s'abonner ou se désabonner : 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Charte de la liste: http://doc.ubuntu-fr.org/groupes/ubuntu-fr-ml/charte