2 votes

Automator échoue avec la ligne bash de ffmpeg

  • Je veux convertir par lots de la musique au format .m4a d'iTunes vers une clé USB au format .mp3.
  • Ce bash script... (source) https://ubuntuforums.org/showthread.php?t=1614765 )

    for f in *.m4a; do ffmpeg -i "$f" -acodec libmp3lame -ab 256k "${f%.m4a}.mp3"; done

...permet d'y parvenir, mais j'aimerais mettre en place une action de dossier Automator pour le faire à ma place.

AFAIK, l'automate dans cette capture d'écran debe fonctionne mais ne fonctionne pas.

J'avais lu des choses - que je n'ai pas vraiment comprises - sur le fait que "$f" devait être entre guillemets, mais il l'est déjà.

enter image description here

Un conseil, s'il vous plaît ?

3 votes

Vous n'avez jamais dit comment il avait échoué. L'expression "ça ne marche pas" est assez vague.

1 votes

Merci - l'action sur le dossier ne fait rien. Rien ne se passe. Le fichier .m4a est déposé dans le dossier et aucune conversion magique ne se produit. Il n'y a pas de message d'erreur ou autre.

3voto

Michael Zhou Points 167

Automator fournit des arguments (noms de fichiers) au shell script. Essayez :

for f in "$@"
do
    case $f in
        *.m4a)
             /absolute/path/to/ffmpeg -i "$f" -acodec libmp3lame -ab 256k "${f%.m4a}.mp3"
             ;;
    esac
done

2 votes

Je pense que le chemin d'accès à ffmpeg est la clé. Il ne peut probablement pas le trouver puisqu'il n'est pas dans le chemin ou l'environnement de l'utilisateur. J'ai eu des problèmes similaires avec bash scripts sur Automator.

1 votes

Ok- donc Terminal sait qu'il faut chercher ffmpeg au bon endroit (i.e., /usr/local/bin/ffmpeg) mais Automator a besoin d'être informé ? J'ai suivi votre suggestion et remplacé le chemin par /usr/local/bin/ffmpeg mais je n'obtiens que les mêmes symptômes (pas de réponse du dossier et de l'application : 'ffmpeg : command not found'.

1 votes

Oui, cette réponse et @ArchonOSX sont correctes. Le shell qui est ouvert est un shell non interactif, sans login, ce qui signifie qu'il ne traite pas les mêmes fichiers ( .bash_profile y .bashrc ) Voir ce poste pour plus d'explications, mais il suffit de dire que si votre chemin n'est pas tracé à ces deux endroits, ou si vous n'êtes pas en mesure de le faire, vous ne pouvez pas le faire. .bashrc n'est pas source .bash_profile Il ne connaît pas votre chemin.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X