Dropbox хранит миллиарды изображений на своих серверах, большинство из них JPEGs, так что им необходимо уменьшать размер снимков так как у них есть серьезные требования к хранению, поэтому компания разработала Lepton Image Compressor , который – в среднем – достигает 22% сжатия без потерь качества изображений, хранящиеся в облаке.
Сжатие и скорость декомпрессии также имеет важное значение, так как файлы сжимаются при загрузке, так что весь процесс является прозрачным для пользователей, которые видят фотографии в формате JPEG, и компания утверждает, что достигли сжатия 5 МБ / с, 15Мб / с.
Хорошая новость заключается в том, что компания выпустила программу на Github , так что в теории это также может быть использовано для увеличения пропускной способности NAS , который может содержать много фотографий. Так что я решил попробовать в Ubuntu 14.04, но он может быть собран на Windows , с Visual Studio:
1 2 3 4 5 6 |
git clone https://github.com/dropbox/lepton cd lepton ./autogen.sh ./configure make -j8 make check -j8 |
Если все пойдет хорошо для последнего шага, то тесты должны быть успешными:
1 2 3 4 5 6 7 8 9 10 |
============================================================================ Testsuite summary for lepton 0.01 ============================================================================ # TOTAL: 40 # PASS: 40 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 |
Я также установил его:
1 |
sudo make install |
Теперь давайте перейдем в какой-нибудь каталог с фотографиями, которые я сделал с помощью цифровой зеркальной фотокамеры:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
cd ~/Pictures/2016/07/07/ ls IMG_2652.JPG IMG_2661.JPG IMG_2670.JPG IMG_2680.JPG IMG_2689.JPG IMG_2653.JPG IMG_2662.JPG IMG_2671.JPG IMG_2681.JPG IMG_2690.JPG IMG_2654.JPG IMG_2663.JPG IMG_2672.JPG IMG_2682.JPG IMG_2691.JPG IMG_2655.JPG IMG_2664.JPG IMG_2673.JPG IMG_2683.JPG IMG_2692.JPG IMG_2656.JPG IMG_2665.JPG IMG_2675.JPG IMG_2684.JPG IMG_2693.JPG IMG_2657.JPG IMG_2666.JPG IMG_2676.JPG IMG_2685.JPG IMG_2694.JPG IMG_2658.JPG IMG_2667.JPG IMG_2677.JPG IMG_2686.JPG IMG_2695.JPG IMG_2659.JPG IMG_2668.JPG IMG_2678.JPG IMG_2687.JPG IMG_2696.JPG IMG_2660.JPG IMG_2669.JPG IMG_2679.JPG IMG_2688.JPG jaufranc@FX8350:~/Pictures/2016/07/07$ du -h 264M . |
44 фотографии общим объемом 264 МБ. Я буду сжимать их все, но во-первых, давайте попробуем с одной, чтобы проверить разницу и посмотреть, действительно ли без потерь.
1 |
lepton IMG_2652.JPG IMG_2652.lep |
Файл Lepton определенно меньше (21,66% меньше):
1 2 3 |
ls -lh IMG_2652.* -rw-rw-r-- 1 jaufranc jaufranc 6.0M Jul 7 23:27 IMG_2652.JPG -rw------- 1 jaufranc jaufranc 4.7M Jul 15 11:40 IMG_2652.lep |
Теперь давайте распакуем файл и посмотрим, есть ли какая-то разница:
1 2 3 4 |
lepton IMG_2652.lep IMG_2652_uncompress.jpg diff IMG_2652.JPG IMG_2652_uncompress.jpg rm IMG5252_uncompress.jpg |
Не формируется никаких выходных данных, поэтому сжатие действительно прошло без потерь.
1 |
time for j in *.JPG; do lepton "$j" "${j%.JPG}.lep"; done |
Я сделал это на устройстве с процессором AMD FX8350, а при сжатии все 8 ядер были задействованы. Это заняло 5 минут и 8 секунд. Как насчет размера ?:
1 2 3 4 5 |
mkdir lepton mv *.lep lepton cd lepton du -h 207M . |
207 МБ по сравнению с 264 МБ или сжатие около 21,6%.
Благодарим сайт cnx-software.com за предоставленную информацию
Оригинал статьи тут