Eu uso o Automator junto com o ffmpeg, o que funciona muito bem. Um comando de script de shell é executado com dois parâmetros:
- -ss 00:00:00 (iniciando)
- -t 00:00:00 (duração)
P: É possível definir os dois parâmetros usando uma janela pop-up?
fonte
Eu uso o Automator junto com o ffmpeg, o que funciona muito bem. Um comando de script de shell é executado com dois parâmetros:
P: É possível definir os dois parâmetros usando uma janela pop-up?
Você perguntou " É possível definir os dois parâmetros usando uma janela pop-up? " E a resposta é sim .
Aqui está um exemplo de como isso pode ser feito:
Entre a ação Solicitar Itens do Finder e a ação Executar Script do Shell , adicione uma ação Executar AppleScript com o seguinte código 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
Em seguida, na ação Executar Script do Shell , altere o script para o seguinte código :
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
Como isso funciona:
A ação Solicitar itens do Finder passa um dos objetos do sistema de arquivos para a próxima ação .list
A ação Executar AppleScript usa a para adicionar a hora e o comprimento de início ao início da passagem a partir da ação Solicitar itens do Finder .display dialog
list
O Run Shell Script ação recebe o que foi retornado do Run AppleScript ação , neste caso, o valor de return input
como um list
em que o seu primeiro item
é o text returned
do result
do display dialog
, sendo o horário de início e duração. Isso é definido como a start_time_and_length
variável e, em seguida, shift
é usado para removê-lo do list
que é passado for f in "$@"
para processar o restante items
no list
.
Nota: Se você tiver um problema ao usar o código AppleScript , mostrado acima, poderá usar o seguinte como solução 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