Estoy utilizando la aplicación Apple compressor desde la línea de comandos para generar películas a partir de secuencias de imágenes. Esto funciona bien, pero el comando de la línea de comandos correspondiente simplemente sale antes de que el trabajo esté hecho (mientras que la aplicación del compresor lleva a cabo la tarea en segundo plano). Por lo tanto, uno se queda sin saber cuándo ha terminado el trabajo. Utilizando top
Puedo comprobar si el compresor de Apple sigue activo, pero esperaba que hubiera una opción que me avisara cuando el trabajo estuviera terminado (idealmente vía osascript).
Respuestas
¿Demasiados anuncios?
siva
Puntos
23
- Cree un flujo de trabajo de Automator que envíe una notificación.
- Establezca el flujo de trabajo de Automator como la acción a utilizar al finalizar.
Ejecutar el flujo de trabajo de Automator
La acción de trabajo de Automator Workflow aplica un flujo de trabajo de Automator a un archivo de salida después de la transcodificación.
- Flujo de trabajo: Haga clic en el botón Elegir para establecer el flujo de trabajo de Automator que desencadena la acción del trabajo.
https://support.apple.com/en-gb/guide/compressor/cpsr6463a5b3/4.5.1/mac/10.15.6
Aquí hay un bash script que hace el trabajo. Como entrada toma un directorio que contiene el/los archivo/s que debe/n ser tratado/s por el compresor. Escribe el resultado en un directorio predefinido y abre el archivo resultante con QuickTime.
#!/bin/bash
input_dir=$(basename $1)
/Applications/Compressor.app/Contents/MacOS/Compressor -jobpath $1 -settingpath path_to_settings -locationpath path_to_output/$dir.mov
process_id=$(pgrep compressord)
((while kill -0 $process_id; do sleep 1; done) && ((pkill QuickTime || true) && open path_to_output/$dir.mov)) </dev/null &> /dev/null &