¿Cómo cambiar la prioridad del proceso ffmpeg?

0

Estoy tratando de encontrar una manera de establecer la prioridad del proceso ffmpeg. El servidor convierte los videos entrantes a diferentes resoluciones, los videos nuevos deben tener mayor prioridad y convertirse más rápido que los procesos existentes.

Debería funcionar de manera similar a los algoritmos SJF (trabajo más corto primero) o LIFO (último en entrar, primero en salir).

¿Hay alguna manera de hacerlo con ffmpeg?

Yo engendro procesos así ffmpeg -i "${video_path}" -strict experimental -movflags faststart -vf "${resolution}" "${output_path}" >> "${ffmpeg_log}" 2>&1

Nota:

Ya he probado nice solución basada Parece que no funciona. Generé un proceso de 2 ffmpeg con prioridad 10 y -10, y el que se generó anteriormente se completó anteriormente

Mike
fuente
Hola Mike, parece que usaste la cuenta equivocada para publicar esta pregunta. Para fusionarlos, ver aquí: superuser.com/help/merging-accounts
slhck

Respuestas:

2

Simplemente llamas nice Antes de llamar al proceso, junto con el valor de la amabilidad.

Las páginas del manual para nice le mostrará cómo averiguar exactamente qué tan "bonito" es un proceso, es decir, valores más bajos == menos agradables, mayor prioridad.

nice --5 "ffmpeg -i...." lanzaría ffmpeg con un buen valor de -5, por lo que es una prioridad más alta que algo con un buen valor de -1.

Normalmente, 0 es el valor predeterminado, un valor más alto que esto significa que tendría menos prioridad que la predeterminada.

djsmiley2k
fuente
1
También hay renice - Para afectar un proceso que ya se está ejecutando.
Kamil Maciorowski