일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- kubectl
- aws
- Shell script
- Java
- ebpf
- configmap
- Python
- golang
- 행정구역분류
- spring cloud config
- docker
- RTMP
- android studio
- Pod
- HLS
- namespace
- deployment
- wireshark
- macos
- Flutter
- Sysinternals
- nginx-media-server
- Windows10
- ffmpeg
- Kubernetes
- aws cli
- service
- Android
- dart
- VSCode
- Today
- Total
woonizzooni
gif 파일 크기 줄이기 / gif 해상도 변경하기 본문
imagemagick을 이용해서 약 40개의 해상도로 변환을 순차적으로 시도해보니 5분걸린다는 얘기를 듣고,
https://imagemagick.org/script/download.php
https://imagemagick.org/Usage/
pc에 이미 ffmpeg이 설치되어 있으니 아래와 같이 시도해봄.
> ffmpeg -i giphy1.gif -vf scale=400:-1 -y c.gif
- 원본 : giphy1.gif (800x450, 384KB)
- 결과 : c.gif 400x250, 1,538KB(1.5MB) -_-!!!!
ffmpeg 옵션에 손실 압축 옵션 어떻게 집어넣냐 검색해보다가...
https://stackoverflow.com/questions/48472003/ffmpeg-make-gif-file-size-too-big
아래 글을 통해
giflossy/gifsicle를 알게되고, 이것을 이용해보기로 함.
https://github.com/kohler/gifsicle
https://github.com/kornelski/giflossy/releases/tag/lossy%2F1.82.1
> 다운로드 : https://github.com/kornelski/giflossy/releases/download/lossy%2F1.82.1/gifsicle-1.82.1-lossy.zip
> linux, mac용 바이너리가 구분되어 있음 (windows 미지원, 내 경우 windows10의 우분투 쉘에서 동작해봄)
아래와 같이 39개의 해상도로 시도해본 결과 약 1분 5초 소요됨.
./gifsicle-static -O3 --lossy=80 --resize-width 790 -o d790.gif ../../giphy1.gif ... ./gifsicle-static -O3 --lossy=80 --resize-width 410 -o d410.gif ../../giphy1.gif |
여기에 &로 백그라운드(=병렬)처리로 시도해보니 4~8초내 소요됨.
./gifsicle-static -O3 --lossy=80 --resize-width 790 -o d790.gif ../../giphy1.gif & ... ./gifsicle-static -O3 --lossy=80 --resize-width 410 -o d410.gif ../../giphy1.gif& |
시간도 나름(?) 빠르고, 파일 크기도 원본 해상도 그대로일 경우 약 1/2정도 작아지는 것을 확인.
이렇게 해보라고 해야겠군.
옵션 설명
-O, --optimize
--lossy[=STRENGTH]
--resize-width W : 이건 뭐 굳이 설명안해도... (이 값만 설정했을 경우 height는 원본 비율에 맞게 자동 설정됨)
[참고]
https://github.com/kornelski/giflossy
https://github.com/kohler/gifsicle
https://www.lcdf.org/gifsicle/man.html
'MISC' 카테고리의 다른 글
CLI환경에서 내 공인 IP / 외부 IP 찾기 (public ip / external ip) (0) | 2019.12.04 |
---|---|
Mac에서 스크린샷 클립보드에 복사하기 (1) | 2019.12.04 |
[VSCode] XDebug PHP 디버깅 환경 설정 (1) | 2019.11.12 |
SSL/TLS 패킷 복호화 관련 (nss, libnss ...) (0) | 2019.10.18 |
tcpdump SSL/TLS 패킷 복호화 (0) | 2019.10.18 |