Jpegoptim: ๋‹ค๋ฅธ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์ถœ๋ ฅํ•˜๋Š” ์˜ต์…˜

์— ๋งŒ๋“  2014๋…„ 05์›” 20์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: tjko/jpegoptim

ํ˜„์žฌ ๋Œ€์ƒ ๋””๋ ‰ํ† ๋ฆฌ ์˜ต์…˜์„ ์ œ๊ณตํ•˜์—ฌ ๋ฐฐ์น˜ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ๋ฅผ ํ›Œ๋ฅญํ•˜๊ฒŒ ์ง€์›ํ•˜์ง€๋งŒ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ํŒŒ์ผ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋‹จ์ผ ์ด๋ฏธ์ง€๋งŒ ์ตœ์ ํ™”ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์—๋Š” ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ž…๋ ฅ์šฉ๊ณผ ์ถœ๋ ฅ์šฉ์œผ๋กœ ๊ฐ๊ฐ 2๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ด ์ด ๊ฒฝ์šฐ์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉฐ ์ด ๋ฉ‹์ง„ ์˜ตํ‹ฐ๋งˆ์ด์ €์—์„œ ์ด ์ง€์›์„ ๊ฐ–๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

v1.4.0๋ถ€ํ„ฐ jpegoptim์€ stdin/stdout์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์›ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

jpegoptim --stdout a.jpg > b.jpg

๋˜๋Š”

๊ณ ์–‘์ด a.jpg | jpegoptim --stdin > b.jpg

๋ชจ๋“  3 ๋Œ“๊ธ€

v1.4.0๋ถ€ํ„ฐ jpegoptim์€ stdin/stdout์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์›ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

jpegoptim --stdout a.jpg > b.jpg

๋˜๋Š”

๊ณ ์–‘์ด a.jpg | jpegoptim --stdin > b.jpg

stdin/stdout์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์‰˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ ์ž์ฒด๋Š” ๋‹ค๋ฅธ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์ถœ๋ ฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ์ด๊ฒƒ์ด ์•ฝ์ /๋ˆ„๋ฝ๋œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ ์ด๊ฒƒ์— ๊ฐ‡ํžˆ๋ฉด ์ด๊ฒƒ์„ ํ•จ์œผ๋กœ์จ ์•ฝ๊ฐ„์˜ ์ฐฝ์˜๋ ฅ์„ ๋ฐœํœ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์›๋ณธ ์ด๋ฏธ์ง€์˜ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค๊ณ  ์›ํ•˜๋Š” ์ถœ๋ ฅ ํŒŒ์ผ ์ด๋ฆ„์œผ๋กœ ์ด๋ฆ„์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.
  2. ์›๋ณธ ์ด๋ฏธ์ง€์˜ ๋ณต์‚ฌ๋œ ๋ฒ„์ „์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ์ž‘์€ bash ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค.

img='test.jpg'
cp $img ${img%.*}-optimized.jpg
jpegoptim ${img%.*}-optimized.jpg
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰