콘텐츠로 건너뛰기

ExifTool 명령어를 사용하여 동영상 파일 날짜 변경 하기

최근 ExifTool을 사용하여 동영상 파일 날짜를 변경해야 하는 일이 있었습니다. 사진을 보관하는 클라우드 서비스를 구글포토에서 아이클라우드로 변경했는데, 동영상의 촬영 날짜 정보가 없어져서 사진 앱에서 보여지는 영상의 순서가 엉망이 되었거든요.

동영상 파일 날짜가 이상해
동영상 파일 날짜가 이상해

제가 경험한 동영상 파일의 날짜 정보가 엉망이 된 이유와 수정 방법을 소개 해 봅니다.

동영상의 날짜 정렬이 엉망이 된 이유

동영상의 메타 정보를 확인 하려면 동영상 파일을 오른쪽 클릭해서 속성 창을 열어서 ‘자세히’ 탭을 확인하면 됩니다. 동영상의 날짜가 이상해진 이유는 이 메뉴에서 찾을 수 있었습니다.

미디어 작성 날짜
미디어 작성 날짜

아이폰의 사진 앱에서 동영상의 촬영 날짜로 사용되는 정보는 동영상의 메타 정보 중에서 ‘미디어 작성 날짜’ 입니다.

만든 날짜, 수정한 날짜
만든 날짜, 수정한 날짜

만약 ‘미디어 작성 날짜’ 정보가 없는 경우엔 ‘만든 날짜’의 날짜를 동영상의 촬영 날짜로 인식합니다. 자세히 탭에서 보면 ‘만든 날짜’라는 항목으로 표시되고 있으나 저 정보는 동영상 파일의 생성 날짜입니다. 그러다 보니 동영상 파일을 복사하게 되면 복사 된 파일의 ‘만든 날짜’는 현재 날짜로 자동 변경됩니다.

이 파일의 각 날짜 정보는 아래로 정리 됩니다.

필드날짜
미디어 작성 날짜1970-01-01 오전 9:00
만든 날짜2023-06-23 오후 4:57
수정한 날짜2022-07-18 오전 11:06

실제 저 동영상 파일의 촬영 날짜는 ‘수정한 날짜’에 해당하는 2022-07-18 오전 11:06 입니다. 하지만 아이폰의 사진 앱에서는 미디어 작성 날짜를 촬영 날짜로 인식하여 엉뚱한 1970년 영상으로 표시하고 있습니다.

사진과 함께 날짜 순서로 동영상을 함께 보고 싶은데, 날짜가 저렇게 되어서 엉망이 되었습니다.

ExifTool 을 사용하여 동영상 파일 날짜 정보 변경

원인은 알았으니 동영상 파일의 촬영 날짜를 변경합니다.

동영상 파일의 날짜를 변경하기 위해서는 ExifTool 라는 툴을 사용합니다. ExifTool는 사진의 EXIF 정보를 수정하는데 사용하는 프로그램인데, 동영상 파일의 메타 정보도 수정이 가능합니다. 제가 변경해야 하는 mp4, mov 파일 모두 지원을 하네요.

ExifTool by Phil Harvey 공식 사이트 링크에서 ExifTool 프로그램을 다운로드하면 됩니다.

제가 할 일은 ‘수정한 날짜’가 실제 촬영 날짜이니 이 정보를 ‘미디어 작성 날짜’와 ‘만든 날짜’에 복사해서 넣어주면 됩니다.

윈도우의 CMD 창을 열어서 아래 옵션으로 ExifTool을 실행하면 됩니다.

exiftool "-CreateDate<${FileModifyDate;ShiftTime("-9")}" "./"
CMD 창에서 '미디어 작성 날짜' 변경 명령어 수행
CMD 창에서 ‘미디어 작성 날짜’ 변경 명령어 수행

현재 폴더에 있는 모든 파일의 ‘미디어 작성 날짜’를 ‘수정한 날짜’로 변경합니다. 다만 ‘미디어 작성 날짜’는 GMT 시간을 넣어 주어야 하기 때문에 한국 시간에서 -9시간을 적용하기 위해서 ShiftTime(“-9”) 이라는 옵션을 함께 넣어 줍니다.

미디어 작성 날짜 변경 완료
미디어 작성 날짜 변경 완료

성공적으로 ‘미디어 작성 날짜’가 변경 되었습니다.

그러나 새로운 문제가 생겼습니다. 원본 파일을 ‘_original’ 이라는 접미사를 붙인 백업 파일로 만들고 파일을 새롭게 만드는 방식으로 실행이 되어서 ‘만든 날짜’와 ‘수정한 날짜’가 현재 시간으로 업데이트 되었습니다. 그래서 아래 명령을 한번 더 수행 합니다.

exiftool "-FileCreateDate<${CreateDate;ShiftTime("+9")}" "-FileModifyDate<${CreateDate;ShiftTime("+9")}" "./"
CMD 창에서 '만든 날짜', '수정한 날짜' 변경 명령어 수행
CMD 창에서 ‘만든 날짜’, ‘수정한 날짜’ 변경 명령어 수행

‘만들 날짜’와 ‘수정한 날짜’를 ‘미디어 작성 날짜’로 변경 합니다. ‘미디어 작성 날짜’는 GMT 시간으로 되어있기 때문에 ShiftTime(“+9”) 옵션을 넣어서 한국 시간으로 변경하여 적용합니다.

ExifTool로 만든 날짜와 수정한 날짜 변경 완료
ExifTool로 만든 날짜와 수정한 날짜 변경 완료

‘만든 날짜’와 ‘수정한 날짜’가 잘 변경된 것을 확인 했습니다.

이렇게 ‘미디어 작성 날짜’가 없거나 1970년01월01일로 엉뚱한 날짜로 만들어진 동영상 파일들을 일괄 변경하여 아이클라우드 사진에 업로드 하였습니다.

드디어 뒤죽박죽이던 사진앱의 동영상들이 순서대로 자기 자리를 찾아 갔습니다.

exiftool 옵션 값값의 의미
CreateDate미디어 작성 날짜
FileCreateDate만든 날짜
FileModifyDate수정한 날짜

실행한 exiftool의 옵션의 각 값들을 간략하게 표로 정리 하였습니다.


4 개의 댓글

  1. 수 년간 헤메던 정보였습니다…감사합니다.

    cmd에서는 도대체 뭘 입력해야 되는지 해외사이트를 아무리 봐도 모르겠고
    gui로 열심히 도전하다 포기했는데 오늘 이렇게 해결하게 되었네요

    정말 감사합니다.

    1. 저도 ExifTool에 대한 한글 자료가 없어서 사용 방법을 찾는데 어려움이 있었습니다. 해외 사이트의 자료도 보기 쉽게 정리된 곳은 못찾겠더라고요.
      댓글 감사합니다^^

  2. 저는 반대로 [미디어 수정 일자]의 데이터를 [생성일자],[수정 일자]에 업데이트를 하고 싶습니다.
    미디어 시간 보다 실제 생성일자가 9시간 늦어서 바꾸고 싶은데 shifttime해도 바뀌지가 않아서 좀 문의드리고 싶습니다.

    1. 댓글에 써 주신 날짜들을 제 글에 있는 파일 속성의 자세히 탭에 표시되는 이름으로 아래 처럼 이해하고 테스트 해 보았습니다.

      [미디어 수정 일자] -> [미디어 작성 날짜]
      [생성일자] -> [만든 날짜]
      [수정 일자] -> [수정한 날짜]

      그리고 실제 하고자 하시는 내용은 [만들 날짜], [수정한 날짜]를 [미디어 작성 날짜]로 업데이트 하는 것으로 이해 했습니다.

      아래 옵션으로 실행해서 잘 적용되는 것을 확인 했습니다. 도움이 되셨으면 좋겠습니다.

      exiftool “-FileModifyDate<${CreateDate;ShiftTime("+9")}" "-FileCreateDate<${CreateDate;ShiftTime("+9")}" "./"

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다