6 votos

Cambiar la calidad .jpg de las capturas de pantalla del terminal

Estoy usando un terminal script para capturar mi pantalla a intervalos determinados. Sin embargo, los archivos .jpg resultantes son bastante grandes. Me gustaría controlar la calidad de los archivos .jpg generados por este script:

while [ 1 ];do vardate=$(date +%d\-%m\-%Y\_%H.%M.%S); 
screencapture -t jpg -x ~/Desktop/AutoScreenCap/$vardate.jpg; 
sleep 600; done

¿Cómo puedo controlar la calidad .jpg de los archivos resultantes?

9voto

klanomath Puntos 19587

Basta con añadir el comando:

sips -s formatOptions [low|normal|high|best|<percent>] ~/Desktop/AutoScreenCap/$vardate.jpg;

después de la línea de captura de pantalla.

Finalmente se ve así:

while :; do 
    vardate=$(date +%d\-%m\-%Y\_%H.%M.%S)
    screencapture -t jpg -x ~/Desktop/AutoScreenCap/$vardate.jpg 
    sips -s formatOptions [low|normal|high|best|<percent>] ~/Desktop/AutoScreenCap/$vardate.jpg 
    sleep 600
done

Utilice sólo una de las sips formatOptions pero sin corchetes. Los corchetes, las comillas angulares simples y las líneas verticales son metainstrucciones que no deben introducirse literalmente. Significan: elija un de la lista y el último es un porcentaje de libre elección (que debería funcionar con o sin el símbolo %).

Utilizando bajo ahorrará alrededor del 55% del espacio de disco necesario, 10% alrededor del 65% y 1% alrededor del 70%. Sin embargo, esto depende del contenido de tu pantalla.

0 votos

¡Gracias! Ahora se ve así, pero sé que algo está mal porque no funciona: while [ 1 ];do vardate=$(date +%d\-%m\-%Y\_%H.%M.%S); screencapture -t jpg -x sips -s formatOptions [low] ~/Desktop/AutoScreenCap/$vardate.jpg; sleep 600; done

1 votos

@Shawn la opción debe escribirse como low sin el [] .

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