사진 썸네일 가장 빠르게 생성하는 방법! | Photo Station
링크
컨텐츠 정보
- 17,918 조회
- 2 댓글
- 0 추천
- 목록
본문
링크에서 원본 출처 입니다. 사진 썸네일 가장 빠르게 생성하는 방법! | | | Photo Station |
2012.03.20 10:49 |
결과만 보고싶으신 분은 맨 아래 보세요~
===============================================
(저도 낑낑 나스 CPU도 낑낑)
6만장의 사진과 600건의 동영상 썸네일이 원래 속도로 생성되는걸 마냥 보고만 있을 수 없어서 포럼도 뒤져보고 카페에도 물어보고 한참 했습니다.
찾은 여러가지 결과와 제가 결국 수행한 방법을 함께 정리해 올릴게요.
(다른분처럼 아예 생성 안하게 하면 참 좋을텐데... 그래도 포토스테이션 한번 써보고 싶어서요...)
(DS212j, DSM4.0-2198 기준입니다.)
썸네일 생성이 수행되는 순서
데몬->설정파일->폴더별수행->파일별생성
데몬실행/중단은 아래 명령어로 가능합니다.
/usr/syno/etc/rc.d/S77synomkthumbd.sh stop
/usr/syno/etc/rc.d/S77synomkthumbd.sh start
설정파일은 아래입니다.
/usr/syno/etc.defaults/thumb.conf
동일 경로에 thumb_high.conf가 있고, /usr/syno/etc/ 하위에도 두 파일이 있는데요, 일단 제 시스템은 저 파일만 사용하더라구요.
동일 경로에 thumb_high.conf가 있고, /usr/syno/etc/ 하위에도 두 파일이 있는데요, 일단 제 시스템은 저 파일만 사용하더라구요.
실행명령어
/usr/syno/bin/convert-thumb -> /lib/hddapp/usr/syno/bin/convert
실제 수행 명령어에 synonym link가 걸려있습니다.
현재 썸네일 생성 상황 보기
cat /proc/`/bin/ps | grep -v grep | grep convert | grep define | awk '{print $1}'`/cmdline
cat /proc/`/bin/ps | grep -v grep | grep ffmpeg | awk '{print $1}'`/cmdline
처음에 한건 설정파일을 수정해서 썸네일 생성시간을 조금 단축해보려고 했습니다.
설정파일(/usr/syno/etc.defaults/thumb.conf)에서 unsharp=0.5x0.5+1.25+0.0 부분을 주석처리 후 데몬 재실행했습니다.
조금 빨라진거 같긴 하지만 6만개의 파일은 여전히 많은 숫자입니다.
썸네일중 XL 사이즈는 ipad에서만 사용한다고 하길래, ipad가 없으므로 해당 파일을 생성 안하게 바꿔보았습니다.
역시 설정파일(/usr/syno/etc.defaults/thumb.conf)에서 아래 부분을 통째로 주석처리했습니다.
[thumb 1280]
size=1280
quality=90
filename=SYNOPHOTO:THUMB_XL.jpg
용량이 절약되긴 하겠지만, 속도의 차이는 크지 않습니다.
convert 수행시 파라메터를 -size 대신 -sample 으로 바꾸면 좀 빨라진다고 하더이다.
펄스크립트로 convert 를 대체했습니다.
#!/usr/bin/perl -w
@new_args = ();
for $arg(@ARGV) {
if($arg eq "-size") { $arg = "-sample"; }
push @new_args, $arg;
}
exec "/lib/hddapp/usr/syno/bin/convert", @new_args;
실행속도가 훨씬 빨라졌습니다. 한 10년 걸릴거같던게 1년이면 끝나겠더라구요.
synology assistant 를 깔고 PC에서 썸네일을 생성해서 올려봤습니다.
주말 내내 2만건정도 처리하긴 했지만, PC를 계속 켜둘 수도 없고... 앞으로 올리는 모든 사진은 PC로만 업로드 할 수도 없는 노릇입니다.
결국 한 방법은... 다시 펄스크립트로...
convert_foo.sh 를 생성합니다.
#!/usr/bin/perl -w
my $ARGC = $#ARGV;
my $org_file = $ARGV[$ARGC-1];
my $target_file = $ARGV[$ARGC];
exec "/bin/ln", "-s", $org_file, $target_file;
실행권한 줍니다.
chmod 750 convert_foo.sh
convert 를 대체해버립니다.
ln -sf /usr/syno/bin/convert_foo.sh /usr/syno/bin/convert
이러면 실제로 썸네일이 생성되는게 아니라, 원본 사진에 링크가 걸립니다.
장점, 썸네일이 생성 작업이 순식간에 완료됩니다.
생성된 썸네일들로 디스크에 추가적인 공간을 차지할 일이 없습니다.
단점, 생성된 썸네일이 원본사이즈입니다.
모바일앱에서 들어가도 원본 파일 다 읽어오니까 느립니다.
그래도 전 그냥 이렇게 쓸렵니다; 썸네일 생성하는거 종일 기다릴 인내심이 이미 바닥이 났네요.
[이 게시물은 관리자님에 의해 2013-11-17 19:55:22 74.DS_BBS에서 이동 됨]
\n[이 게시물은 관리자님에 의해 2013-11-18 21:29:50 11.H_BBS에서 이동 됨]
관련자료
-
링크
댓글 2
shimss11q님의 댓글
사진 썸네일 가장 빠르게 생성하는 방법! Thumbnails synothumb
dsm 6.1에서는 성공 6.2에서 작업 진행
putty.exe 실행
id
pass
sudo -i
접속
1) 원본 파일 확인
cd /volume1/web/doc
에 작업 저장 합니다
nano /usr/bin/convert
...이상한 파일 후
cp /usr/bin/convert /volume1/web/doc/
에 백업 합니다
nano /volume1/web/doc/convert
백업 확인
ll /usr/bin/conv*
ll /volume1/web/doc/conv*
2) 새로운 파일 생성
convert_thumb2.sh 를 새롭개 생성합니다.
nano /volume1/web/doc/convert_thumb2.sh
================
#!/usr/bin/perl -w
my $ARGC = $#ARGV;
my $org_file = $ARGV[$ARGC-1];
my $target_file = $ARGV[$ARGC];
exec "/bin/ln", "-s", $org_file, $target_file;
===========================
3) 파일 복사 권한복사 마운트
cp /volume1/web/doc/convert_thumb2.sh /usr/bin/convert_thumb2.sh
ll /usr/bin/conv*
파일 확인
chmod 750 /usr/bin/convert_thumb2.sh
ln -sf /usr/bin/convert_thumb2.sh /usr/bin/convert
로 마운트 변경 합니다
nano /usr/bin/convert
파일 확인
dsm 6.1에서는 성공 6.2에서 작업 진행
putty.exe 실행
id
pass
sudo -i
접속
1) 원본 파일 확인
cd /volume1/web/doc
에 작업 저장 합니다
nano /usr/bin/convert
...이상한 파일 후
cp /usr/bin/convert /volume1/web/doc/
에 백업 합니다
nano /volume1/web/doc/convert
백업 확인
ll /usr/bin/conv*
ll /volume1/web/doc/conv*
2) 새로운 파일 생성
convert_thumb2.sh 를 새롭개 생성합니다.
nano /volume1/web/doc/convert_thumb2.sh
================
#!/usr/bin/perl -w
my $ARGC = $#ARGV;
my $org_file = $ARGV[$ARGC-1];
my $target_file = $ARGV[$ARGC];
exec "/bin/ln", "-s", $org_file, $target_file;
===========================
3) 파일 복사 권한복사 마운트
cp /volume1/web/doc/convert_thumb2.sh /usr/bin/convert_thumb2.sh
ll /usr/bin/conv*
파일 확인
chmod 750 /usr/bin/convert_thumb2.sh
ln -sf /usr/bin/convert_thumb2.sh /usr/bin/convert
로 마운트 변경 합니다
nano /usr/bin/convert
파일 확인