2 votos

FFmpeg con Automator y pide iniciar y detener los parámetros

Usar Automator junto con ffmpeg que funciona muy bien. Un comando de secuencia de comandos de shell se ejecuta con dos parámetros:

  • -ss 00:00:00 (a partir)
  • -t 00:00:00 (tiempo de)

P: ¿es posible configurar los dos parámetros mediante una ventana emergente?

enter image description here

1voto

user3439894 Puntos 5883

Se preguntó "¿Es posible configurar los dos parámetros a través de una ventana emergente?" y la respuesta es que .

Aquí está un ejemplo de cómo se podría hacer:

Entre los Pida Buscador de Elementos de acción y Ejecutar el Shell de Comandos de acción de agregar un Ejecutar AppleScript de acción con los siguientes AppleScript código:

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

A continuación, en Ejecutar el Shell Script de acción, cambiar la secuencia de comandos con el siguiente 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

Automator Workflow


Cómo funciona esto:

  • El Pedir Buscador de los Elementos de la acción pasa a un list de objetos del sistema de archivos para la próxima acción.

  • El Ejecutar AppleScript acción utiliza un display dialog para agregar la hora de inicio y la longitud para el comienzo de la list pasa desde la Pregunte de Buscador de Artículos de acción.

  • Al Ejecutar el Shell Script de acción recibe lo que fue devuelto desde el Ejecutar AppleScript acción, en este caso, el valor de return input como list en el que su primer item es el text returned de la result de la display dialog, siendo la hora de inicio y la duración. Esto se establece en la start_time_and_length variable y, a continuación, shift se utiliza para quitar de la list que se pasa a for f in "$@" de procesar el resto de items en la list.


Nota: Si usted tiene un problema con el AppleScript código, que se muestra arriba, a continuación, podría utilizar la siguiente solución:

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X