테이크아웃 HEIC 사진을 날짜 그대로 JPG로 변환하는 방법
구글 테이크아웃에 HEIC 파일이 가득한 이유, 촬영일과 GPS를 유지하면서 JPG로 변환하는 방법, 그리고 실제로는 JPEG인 이상한 HEIC 파일에 대해 설명합니다.
테이크아웃 사진의 절반이 .HEIC로 끝납니다. 윈도우는 빈 아이콘을 보여 주고, TV는 무시하고, 써 본 변환 프로그램은 날짜도 위치도 없는 JPG를 만들어 냈습니다. 이제 모든 사진이 두 벌인데 어느 쪽도 제대로 된 것이 없습니다.
HEIC 자체는 문제가 아닙니다. 부주의한 변환이 문제입니다.
테이크아웃에 HEIC가 가득한 이유
아이폰은 2017년부터 기본으로 HEIC를 찍습니다. 구글 포토는 휴대폰이 올린 것을 그대로 저장하고, 테이크아웃은 그것을 바꾸지 않고 돌려줍니다. 라이브러리가 아이폰에서 왔다면 그 이후 사진 대부분이 HEIC입니다. 안드로이드 휴대폰은 주로 JPG를 찍지만 일부 갤럭시 모델은 HEIF 옵션이 있습니다.
HEIC 파일은 같은 화질의 JPG보다 절반 정도 작습니다. 애플이 쓰는 이유입니다. 단점은 호환성입니다. 윈도우 10과 11은 Microsoft Store의 코덱이 있어야 표시합니다. 오래된 소프트웨어, 대부분의 스마트 TV, 많은 웹 업로더, 일부 NAS 사진 앱은 아예 읽지 못합니다. 리눅스 데스크톱은 libheif를 설치해야 합니다.
사진이 애플 사진, Immich, PhotoPrism, 최근 안드로이드 휴대폰으로 간다면 HEIC로 두십시오. 모두 이 형식을 읽고, 변환은 화질을 조금 잃고 용량을 두 배로 만들 뿐입니다. 목적지가 읽지 못하거나, 모든 사진을 한 형식으로 맞추고 싶을 때 변환하십시오.
부주의한 변환이 잃는 것
대부분의 변환 프로그램은 이미지를 디코딩해 JPEG로 다시 인코딩합니다. 그중 많은 수가 메타데이터가 전혀 없는 새 JPEG를 씁니다. 날짜, 카메라 기종, GPS가 든 EXIF 블록이 버려집니다. 변환된 사진은 변환한 날짜를 보여 주게 되는데, 테이크아웃이 만든 것과 똑같은 문제가 파일 한 벌 더 생긴 채 반복되는 셈입니다.
HEIC 안의 날짜와 GPS는 JPEG가 쓰는 것과 같은 종류의 EXIF 블록에 들어 있습니다. 좋은 변환기는 그것을 복사해 옵니다. 지우기 전에 결과를 확인하십시오. 변환된 JPG를 마우스 오른쪽 버튼으로 눌러 속성이나 정보 가져오기를 열고, "찍은 날짜"와 카메라 기종이 있는지 보면 됩니다.
테이크아웃 메타데이터 합치기는 변환 후가 아니라 변환 전에 하십시오. .json 사이드카의 날짜가 HEIC 안에 들어간 뒤라면, 메타데이터를 유지하는 변환이 그것을 JPG로 옮겨 줍니다. 먼저 변환하면 사이드카 이름이 새 파일과 맞지 않아 합치기를 다른 방식으로 해야 합니다.
직접 변환하기
맥에서는 파인더에서 파일을 선택하고 마우스 오른쪽 버튼을 눌러 빠른 동작, 이미지 변환을 고릅니다. JPEG와 최대 크기를 선택합니다. 터미널에서는 이렇게 합니다.
for f in *.HEIC; do sips -s format jpeg "$f" --out "${f%.*}.jpg"; done
sips는 날짜와 GPS를 포함한 EXIF를 유지합니다.
윈도우에서는 HEIF 코덱을 설치한 뒤 사진 앱에서 HEIC를 JPG로 한 장씩 저장할 수 있습니다. 일괄 변환은 무료인 ImageMagick으로 magick mogrify -format jpg *.HEIC를 쓰면 됩니다. 기본으로 EXIF를 유지합니다.
리눅스에서는 libheif-examples 패키지의 heif-convert가 해 줍니다. for f in *.HEIC; do heif-convert "$f" "${f%.*}.jpg"; done. EXIF를 복사합니다.
변환기가 메타데이터를 지워 버렸다면 exiftool이 HEIC에서 다시 복사할 수 있습니다.
exiftool -tagsfromfile %d%f.HEIC -all:all -overwrite_original -ext jpg .
HEIC와 JPG 짝이 나란히 있는 폴더에서 실행하십시오.
실제로는 JPEG인 HEIC
가끔 테이크아웃 내보내기에 이름은 .HEIC인데 내용은 JPEG 데이터인 파일이 있습니다. 어딘가에서 변환되면서 옛 이름을 유지한 경우이고, 확장자와 내용이 다르면 일부 뷰어는 열기를 거부합니다. 맥이나 리눅스에서 file IMG_1234.HEIC를 치면 실제 내용이 무엇인지 알려 줍니다. JPEG라고 하면 .jpg로 이름을 바꾸면 어디서나 열립니다. 반대 경우, 즉 안은 HEIC인 JPEG도 있는데 더 드뭅니다.
확장자를 믿는 변환기는 이런 파일에서 실패하거나 깨진 파일을 만듭니다. 내용을 보는 변환기는 처리합니다.
앱으로 변환하기
Takeout JSON Metadata Fixer는 날짜를 고치는 같은 실행에서 HEIC를 JPG로 변환하는 옵션을 제공합니다. 윈도우, 맥, 리눅스에서 됩니다.
먼저 사이드카의 날짜와 GPS를 각 사진에 합치고, 그다음 HEIC를 디코딩해 메타데이터를 옮긴 JPG를 씁니다. 확장자가 아니라 파일 내용을 읽기 때문에 .HEIC 이름 뒤에 숨은 JPEG도 메타데이터가 온전한 정상 JPG로 나옵니다. 방향 정보는 잘못된 변환이 버리는 것 중 하나라서, 옆으로 누운 사진은 같은 과정에서 바로 세워집니다. 옵션을 끄면 HEIC 파일은 그대로 통과합니다.
JPG는 높은 화질로 다시 인코딩되므로 HEIC 원본보다 큽니다. 공간이 허락하면 원본을 보관하십시오. 처음 1000장은 무료입니다.
변환만 필요하고 날짜가 이미 맞다면 위의 무료 도구로 충분합니다. 앱은 변환, 날짜 수정, 정리를 한 번에 해야 할 때 제값을 합니다.
변환 뒤 확인할 것
변환된 JPG 몇 장의 속성을 열어 "찍은 날짜", 카메라 기종, 위치가 있는지 봅니다. 셋 다 있으면 EXIF가 옮겨진 것입니다. 옆으로 누운 사진이 있으면 방향 정보가 빠진 것이니 변환기를 바꾸거나 exiftool로 HEIC에서 다시 복사하십시오.
자주 묻는 질문
JPG로 변환하면 화질이 떨어지나요?
조금 떨어집니다. JPEG는 손실 압축된 원본을 다시 손실 압축하는 것입니다. 높은 화질에서는 화면상 차이가 보이지 않습니다. 보관용으로는 HEIC를 두고 공유용으로 JPG를 쓰십시오.
라이브 포토도 변환되나요?
라이브 포토의 정지 사진 부분은 다른 HEIC처럼 변환됩니다. 동영상 부분은 별도의 MP4이고 그대로 남습니다. 애플 사진은 HEIC와 MP4를 짝짓듯 같은 이름의 JPG와 MP4도 짝짓습니다.
윈도우가 HEIC를 빈 아이콘으로 보여 주는 이유는?
Microsoft Store의 "HEIF 이미지 확장"이 필요하고, 때로는 유료인 "HEVC 비디오 확장"도 필요합니다. 설치하면 탐색기와 사진 앱이 HEIC를 표시합니다. 다른 윈도우 프로그램은 여전히 못 열 수 있습니다.
변환된 JPG에 GPS가 남나요?
변환기가 EXIF를 복사하면 남습니다. GPS 태그는 날짜와 같은 블록에 있습니다. 변환 뒤 파일 하나를 확인하십시오.