Uso Automator insieme a ffmpeg che funziona alla grande. Un comando di shell script viene eseguito con due parametri:
- -ss 00:00:00 (iniziale)
- -t 00:00:00 (durata)
D: È possibile impostare i due parametri usando una finestra popup?
Hai chiesto " È possibile impostare i due parametri usando una finestra popup? " e la risposta è si .
Ecco un esempio di come potrebbe essere fatto:
Tra Chiedi elementi Finder azione e Esegui script shell azione aggiungi un Esegui AppleScript azione con il seguente codice AppleScript :
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
Quindi nello Esegui script shell azione , modifica lo script nel seguente codice :
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
Comefunziona:
IlChiedielementidelFinderazionepassaunlist
dioggettidelfilesystemallasuccessivaazione.
L'azioneEseguiAppleScriptutilizzaundisplaydialog
peraggiungereoradiinizioelunghezzaaliniziodilist
passatoadessodalChiediaglielementidelFinderazione.
IlEseguiscriptdishellazionericeveciòcheèstatorestituitodall'azioneEseguiAppleScript,ininquestocasoilvaloredireturninput
comelist
incuiilsuoprimoitem
èiltextreturned
dalresult
didisplaydialog
,essendol'oradiinizioelalunghezza.Questovieneimpostatosullastart_time_and_length
variabileequindivieneutilizzatoshift
perrimuoverlodallist
chevienepassatoaforfin"$@"
per elaborare il items
rimanente in list
.
Nota. Se riscontri un problema con il codice AppleScript , mostrato sopra, puoi utilizzare quanto segue come soluzione alternativa:
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
Leggi altre domande sui tag command-line automation bash applescript automator