Plex 라이브러리에 등록된 파일들이 많아지만 metadata 크기가 커지는 것은 당연하다고 알고 있었는데,
어느날 보니 metadata 크기가 60GB 정도에 달하더군요. 제가 그렇게 까지 라이브러리가 크지는 않은데..
분석해보니 Plex Media Server - Metadata 안에 있는 Albums 폴더의 용량이 19GB를 차지하고 있더라고요. (대충 15,000 곡 정도 있습니다)
좀 더 자세히 확인해보니 (TreeSize 라는 유틸리티를 사용) 각 항목 폴더 내에서 poster라는 폴더 내 파일들이 수~수십메가 씩을 차지하다 보니 전체 용량이 기하급수적으로 커지는 것인데
파일 확장자가 그림파일은 아니지만 이미지 뷰어로 열어보면 매우 큰 음악 앨범 커버 이미지들이었습니다. (대충 PNG 3000픽셀 이상)
앨범 이미지 해상도가 높으면 일반적으로 좋기는 하겠지만 제 사용 패턴에서는 주로 모바일에서 보기 때문에 대충 800 픽셀 이상이 필요가 없어 보여서 다음의 스크립트를 찾아 일괄적으로 이미지 크기를 조절했습니다.
https://gitlab.com/Hakulaku/Poster-Resize-Plex
다만 저 스크립트를 만든 사람은 주로 영화 포스터 같은 세로/가로=1.5 비율 크기의 이미지만 골라서 줄이려고 한 것으로 보여,
정사각형 이미지가 주로 사용되는 앨범 커버는 복잡한 조건들을 배제하고 단순하게 크기 조건만 사용하였습니다.
변경 전 소스 | 변경 내용 |
startpath = "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Metadata/" |
변경하기 원하는 metadata 폴더 경로로 수정 |
size = 300, 450 |
변경 후 크기를 원하는대로 수정size = 800, 800 |
if height <= width: print("Image doesn't seems to be a cover. Skipping: %s" % path) elif height > width and height > 450 and width > 300 and float(height) / width == 1.5: |
변경할 이미지 조건을 500x500 초과로 단순하게 수정 if height > 800 and width > 800 |
결과 19GB -> 4.6GB로 감량 성공하였고, 음악 재생에 아직까지 문제는 없습니다.
문제가 생기면 나중에 추가하겠습니다.
Movies / TV Shows 등에도 사용할때 문제가 없는지는 잘 모르겠는데 일단 제 경우는 용량이 그렇게 크지는 않아서 두기로 했습니다.
혹여 따라하시다가 발생하는 문제에서 저는 책임이 없음을 미리 밝힙니다
요약
1. Plex Metadata 크기가 너무 큰 것이 각 항목들의 poster 폴더 크기 때문이라면
2. https://gitlab.com/Hakulaku/Poster-Resize-Plex 에서 원하는 경로/조건등으로 수정하고 실행하면
3. 용량을 1/4 또는 그 이하로 줄일수 있고 아직까지 문제는 없는듯 하다
감사합니다.
일단 원하는 만큼은 줄였기 때문에 그냥 무시하고 쓰려고 합니다. PIL convert를 쓰거나 하면 해소는 할 수 있을것 같아 보이긴 하더라고요.