.png)
Ich habe das folgende Skript, das ich normalerweise vom Terminal aus ausführe, und es funktioniert perfekt. Ich muss nur eine einzelne .mp4
Datei und zwei .srt
Dateien in meinem Benutzerverzeichnis haben, und es fügt automatisch beide Untertitel in eine neue .mp4
Datei ein und ändert gleichzeitig den Codec in HVC1.
Aber ich möchte einfach 3 Dateien (zwei .srt
und eine .mp4
) aus dem Finder auswählen, ihre Dateinamen, Pfad und Erweiterung abrufen und dies als Dienst ausführen. Wie könnte ich das tun? Ich habe im Internet unzählige Optionen geprüft, weiß aber nicht, wie ich es machen soll. Kann mir bitte jemand helfen?
ffmpeg -i movie-1.mp4 -i movie-2.srt -i movie-3.srt \
-map 0:v -map 0:a -map 1 -map 2 \
-c:v copy -tag:v hvc1 -c:a copy -c:s mov_text \
-metadata:s:s:0 language=por -metadata:s:s:1 language=eng \
/Users/allanmentzingen/Desktop/output.mp4
Antwort1
Fügen Sie Ihren Befehl in eine „Shell-Skript ausführen“-Aktion ein, wählen Sie „Eingabe als Argumente übergeben“ und verwenden Sie dann diese variablen Argumente anstelle Ihrer festen Argumente:
Die $1
Bits " " usw. sind die Argumente für das Skript, das erste, zweite und dritte.
Von den „Dokumenten“-Typen von Automator empfehle ich die Verwendung einer Schnellaktion, einer Ordneraktion oder einer Anwendung, und zwar in dieser Reihenfolge:
Für eine Schnellaktion müssen Sie die drei Dateien auswählen, mit der rechten Maustaste auf die Gruppe klicken und dann Ihren Automator-Workflow aus dem Flyout-Menü „Schnellaktionen“ auswählen.
Mit einer Ordneraktion würden Sie den Arbeitsablauf an einen bestimmten Ordner binden, in den Sie diese Dateien ablegen würden.
Eine Anwendung würde als Tröpfchen fungieren, einAppletdas mit den Dateien ausgeführt wird, die Sie per Drag & Drop darauf ziehen: Ziehen Sie die drei Dateien auf das App-Symbol, um es mit diesen Dateien als Eingabe auszuführen.
Ich sehe nicht, dass dieser Workflow auf die Reihenfolge der Dateiargumente reagiert. Die Reihenfolge, in der Sie Dateien im Finder auswählen, wirkt sich auf die Reihenfolge der -i
Optionen aus ffmpeg
, aber ich glaube, ffmpeg
das ist in diesem Fall egal. Das Einzige, worüber ich mir nicht sicher bin, ist, ob das " .mp4
" im Namen der Ausgabedatei ausreicht, um anzugeben, ffmpeg
dass die Ausgabe im MP4-Format geschrieben werden soll, anstatt sie vom ersten -i
Argument abzurufen. Wenn ja, müssen Sie es einfach -f mp4
am Anfang des Befehls hinzufügen.