.png)
Tengo el siguiente script que estoy acostumbrado a ejecutar desde Terminal y funciona perfectamente. Solo necesito tener un solo .mp4
archivo y dos .srt
archivos en mi directorio de usuario y automáticamente ingresará ambos subtítulos en un nuevo .mp4
archivo, al mismo tiempo que cambiará el códec a HVC1.
Pero me gustaría simplemente seleccionar 3 archivos (dos .srt
y uno .mp4
) del Finder, obtener sus nombres de archivo, ruta y extensión, y ejecutarlo como un servicio. ¿Cómo podría hacer eso? He mirado muchísimas opciones en internet pero no sé cómo hacerlo. Por favor, ¿alguien podría ayudarme?
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
Respuesta1
Coloque su comando en una acción "Ejecutar script de Shell", seleccione "Pasar entrada: como argumentos", luego use esos argumentos variables en lugar de sus argumentos fijos:
Los bits " $1
", etc. son los argumentos del script, primero, segundo y tercero.
De los tipos de "documentos" de Automator, le recomiendo que utilice una Acción rápida, una Acción de carpeta o una Aplicación, en ese orden:
Una acción rápida requeriría que seleccione los tres archivos, haga clic derecho en el grupo y luego elija su flujo de trabajo de Automator en el menú desplegable de Acciones rápidas.
Una acción de carpeta le permitiría vincular el flujo de trabajo a una carpeta particular en la que colocaría estos archivos.
Una Aplicación actuaría como una gota, unasubprogramaque se ejecuta con los archivos que arrastra y suelta: arrastre los tres archivos al ícono de la aplicación para ejecutarlo con esos archivos como entrada.
No veo que este flujo de trabajo sea sensible al orden de los argumentos del archivo. El orden en que seleccione los archivos en Finder afectará el orden de las -i
opciones ffmpeg
, pero no creo que ffmpeg
le importe en este caso. Lo único de lo que no estoy seguro es si " .mp4
" en el nombre del archivo de salida es suficiente para indicar ffmpeg
que se escriba la salida en formato MP4, en lugar de obtenerla desde el primer -i
argumento. Si es así, entonces solo necesitarás agregarlo -f mp4
al principio del comando.