Sie haben gefragt: " Ist es möglich, die beiden Parameter über ein Popup-Fenster einzustellen? ", und die Antwort darauf ist ja .
Hier ist ein Beispiel, wie es gemacht werden könnte:
Fügen Sie zwischen der Aktion „Nach Finder-Elementen fragen“ und der Aktion „Shell-Skript ausführen“ eine Aktion „AppleScript ausführen“ mit dem folgenden AppleScript- Code hinzu :
on run {input, parameters}
display dialog "Enter the start time and length:" default answer "-ss 00:00:00 -t 00:00:00" buttons {"Cancel", "OK"} ¬
with title "Set FFMPEG Start Time and Length: -ss 00:00:00 -t 00:00:00"
set beginning of input to text returned of result
return input
end run
Ändern Sie dann in der Aktion Shell-Skript ausführen das Skript in den folgenden Code :
start_time_and_length="$1"
shift
for f in "$@"
do
/usr/local/Cellar/ffmpeg/3.2.4/bin/ffmpeg -i "$f" $start_time_and_length -c:v copy -c:a copy -f mp4 "${f%.*}.mp4"
done
Wie das funktioniert:
Die Aktion „Nach Finder-Elementen fragen“ übergibt eine Anzahl von Dateisystemobjekten an die nächste Aktion .list
Die Aktion „AppleScript ausführen“ verwendet a , um die Startzeit und -länge an den Anfang der von der Aktion „Nach Finder-Elementen fragen“ übergebenen Zeichenfolge hinzuzufügen .display dialog
list
Die Aktion "Shell-Skript ausführen" erhält das, was von der Aktion " AppleScript ausführen" zurückgegeben wurde , in diesem Fall den Wert von als a , wobei der erste der von der ist , also die Startzeit und -länge. Dies wird auf die Variable gesetzt und dann verwendet, um sie aus der zu entfernen, an die übergeben wird , um den Rest in der zu verarbeiten . return input
list
item
text returned
result
display dialog
start_time_and_length
shift
list
for f in "$@"
items
list
Hinweis: Wenn Sie ein Problem mit dem oben gezeigten AppleScript- Code haben , können Sie Folgendes als Problemumgehung verwenden:
on run {input, parameters}
set tempList to {}
display dialog "Enter the start time and length:" default answer "-ss 00:00:00 -t 00:00:00" buttons {"Cancel", "OK"} ¬
with title "Set FFMPEG Start Time and Length: -ss 00:00:00 -t 00:00:00"
set end of tempList to text returned of result
repeat with i from 1 to (count of input)
set end of tempList to item i of input
end repeat
copy tempList to input
return input
end run
Chili