개요
- 이미지 파일등에 XMP 메타데이터가 포함되어 있는 경우가 있다.
- 파이썬을 라이브러리인
XMP Toolkit을 사용해서 이미지 파일로부터 XMP 메타데이터를 읽는 방법을 정리해둔다.
전제조건
Exempi라이브러리 버전 2.2.0 이상이 필요하다.- 문제는 이 라이브러리가 윈도우즈용이 존재하지 않는다는 점이다. 여기를 보면 Cygwin을 사용해서 DLL로 빌드하면 사용할 수 있다고는 하나 복잡해보이므로 패스했다.
- 리눅스 환경에서 설치하고 테스트하는게 정신건강에 좋아 보인다.
※ 윈도우즈에서도 XMP Toolkit 라이브러리가 설치는 되지만 사용하려고 하면 다음과 같은 에러가 발생한다.
File "C:\Python310\lib\site-packages\libxmp\exempi.py", line 60, in _load_exempi
raise ExempiLoadError('Exempi library not found.')
libxmp.ExempiLoadError: Exempi library not found.
Exempi 설치
Ubuntu/Debian, OS X
Ubuntu/Debian 이나 OS X 라면 설치가 쉽다. 패키지 매니저를 사용해서 편하게 설치할 수 있다.
sudo apt-get install libexempi3 # (Ubuntu/Debian)
brew install exempi # (Homebrew on OS X)
다른 리눅스
다음과정으로 설치한다. 설치중 에러가 발생할 수도 있다.
wget https://libopenraw.freedesktop.org/download/exempi-2.2.2.tar.bz2
tar -xvf exempi-2.2.2.tar.bz2
./configure
make
sudo make install
아마존 리눅스2
wget https://cdn.amazonlinux.com/2/core/2.0/x86_64/6b0225ccc542f3834c95733dcf321ab9f1e77e6ca6817469771a8af7c49efe6c/../../../../../blobstore/3f17b8678f5f5640dcd8e2734f00f5102a4fb075f7b66f21f72becdff619b2c5/exempi-2.2.0-9.amzn2.x86_64.rpm
sudo rpm -ivh exempi-2.2.0-9.amzn2.x86_64.rpm
XMP Toolkit 설치
pip을 이용해서 설치한다.
python3 -m pip install python-xmp-toolkit
사용법
파일로부터 메타데이터 읽기
from libxmp import XMPFiles, consts
xmpfile = XMPFiles( file_path="test/samples/BlueSquare.jpg", open_forupdate=True )
xmp = xmpfile.get_xmp()
xmp
기타
- 이 라이브러리는 메터데이터에 포함되어 있는 다국어 데이터 표시도 제대로 해줘서 좋다!
- 예를들어 Burp Suite같은 툴로 이미지 파일의 내용을 봤을 때 알파벳이 아니라서 글자가 깨져서 보이는 부분도
XMP Toolkit을 사용해서 보면 무슨 글자인지 보여준다.
참고한 곳
- https://python-xmp-toolkit.readthedocs.io/en/latest/using.html
- https://qiita.com/XPT60/items/6583e747193705a42f20