De l'usage du caractère d'échappement (Was Re: Question ffmpeg)
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
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
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
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
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
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
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
> 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
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
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
- 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
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
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
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
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