3 votes

<script> Traduction en cours ... </script>

J'ai ce script bash qui fonctionne parfaitement dans le terminal

#!/bin/bash

for f in "$@"; do

  DIRNAME="$(dirname "$f")"

  filename=$(basename "$f")
  name="${filename%.*}"
  extension="${filename##*.}"

  /usr/local/bin/ffmpeg -i "$f" -filter_complex 'scale=1920:1080, pad=2134:1200:107:60' "$DIRNAME"/OUTPUT_"$name"."$extension"
  /usr/local/bin/ffmpeg -i OUTPUT_"$name"."$extension" -vf 'scale=1920:1080' FINAL_"$name"."$extension"

 done

Je cherche à créer un service pour Finder qui accepte des fichiers vidéo et les traite en utilisant ce script. Le service est configuré pour transmettre l'entrée à stdin. Lorsque je sélectionne des fichiers vidéo sur Finder et lance ce service, rien ne se passe. Comme je l'ai dit, le script fonctionne parfaitement à partir du terminal.

description de l'image

Des indices?


Cette question semble similaire à ffmpeg working from command line in Terminal but not in an Automator shell script! mais appliquer la réponse (chemin complet vers ffmpeg) n'a pas résolu mon problème.

2voto

Duck Points 2027

En plus de spécifier le chemin complet vers ffmpeg, deux problèmes supplémentaires devaient être résolus :

  1. Le chemin vers les fichiers de sortie est également nécessaire.

  2. L'option pass input de l'action du script shell doit être définie comme arguments.

enter image description here

Le script final est alors le suivant :

#!/bin/bash

for f in "$@"; do

  DIRNAME="$(dirname "$f")"

  filename=$(basename "$f")
  name="${filename%.*}"
  extension="${filename##*.}"

  /usr/local/bin/ffmpeg -i "$f" -filter_complex 'scale=1920:1080, pad=2134:1200:107:60' "$DIRNAME"/OUTPUT_"$name"."$extension"
  /usr/local/bin/ffmpeg -i "$DIRNAME"/OUTPUT_"$name"."$extension" -vf 'scale=1920:1080' "$DIRNAME"/FINAL_"$name"."$extension"

done

Remarquez comment le chemin a été ajouté à ffmpeg et aussi que $DIRNAME a été ajouté aux fichiers de sortie, ce qui n'a pas été mentionné dans l'autre question.

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