이전 포스트에서 설명했듯이, 지금까지 공개된 윈도우용 HEIF 변환 프로그램[각주:1]들은 뭔가 많이 부족하다.

mp4boxffmpeg만 잘 활용해도 변환의 상당부분을 처리할 수 있는 걸 보면 아직 상용 프로그램들의 갈 길은 먼 것 같다.




그래서 답답한 내가 직접 만들어봤다.


이 프로그램은 HEIF을 읽어서 정보들을 추출한 뒤에 mp4boxffmpeg을 활용해서 변환하는 프로그램이다.

색상 프로파일, Exif 등을 모두 제대로 읽어내어 살리며, 덤으로 파일의 시간 정보도 Exif에 기록된 시간을 사용한다.


혹시 타일 방식이 아니라 Ani GIF처럼 여러 장의 이미지가 들어있는 경우는 각각의 이미지 파일로 추출해준다.


또한, jpeg으로 저장할 때는 quality를 지정할 수 있으며, 좀 더 작은 크기의 파일을 만들 수 있도록 mozjpeg도 적용할 수 있다.

무손실 이미지로 저장할 수 있도록 PNG로 저장할 수도 있는데, 이 경우엔 색상 프로파일은 함께 저장하지만, Exif는 어쩔 수 없이 버린다.



이 프로그램은 아래 링크에서 다운받을 수 있다.

이전의 다른 프로그램들과 동일한 압축 비밀번호가 걸려있다.


iTransHEIFv1.1a.part01.rar

iTransHEIFv1.1a.part02.rar

iTransHEIFv1.1a.part03.rar

password: teus.me



덧1. 변환 중간 과정에서 BMP를 사용하는데, 이건 성능을 조금이라도 끌어올리기 위한 수단임

이 프로그램은 다양한 부가기능들을 추가했지만, 어쨌거나 본질적으로는 프론트엔드인지라 성능은 본체[각주:2]의 영향을 많이 받는다.

초기 버전은 변환 과정에서 PNG로 추출했다가 합쳤는데, BMP로 추출해보니 변환 시간이 20% 가량 빨라졌다.

혹시나 해서 PCX로 추출하는 방법도 적용해봤는데, 오히려 BMP로 추출할 때보다 다소 느려졌.


덧2. ffmpeg은 32비트 및 64비트 버전을 모두 사용 가능

ffmpeg 64비트로 변환해보니 32비트 버전에 비해 또 15% 가량 더 빨라졌다.

그래서, 두 버전을 모두 사용할 수 있도록 해서, 64비트 환경에선 ffmpeg 64비트를 사용하도록 했다.


덧3. 임시 폴더명이 순수한 영어가 아닌 경우는 별도의 임시 폴더를 지정해야 함

mp4box는 실행 폴더명에 한글 등 CJK 문자가 들어있으면 종종 실행이 중단되기 때문에 궁여지책으로 선택한 해결책이다.


덧4. 만약을 대비해서 UI는 영어로만 구성했음. 어느 나라의 누구라도 잘 쓸 수 있도록


덧5. iOS에서 생성한 파일 외에 노키아에서 공개한 HEIF까지도 완전하게 변환

이 파일들 중에는 HEVC 외에 H.264 기반의 HEIF도 포함되어 있으며 모두 변환한다.

참고로, 여기 올라온 46개의 파일들 중에 33개만 변환이 가능하다. 나머지는 파일 자체에 문제가 있는 파일이다.



  1. 노키아에서 공개한 샘플들을 아이폰에 넣으면 대부분 잘 표시하는 걸 보면 맥 쪽은 훨씬 나은 환경인 듯 [본문으로]
  2. mp4box, ffmpeg 얘기임 [본문으로]
신고
  1. Peri 2017.12.13 07:38 신고

    win7 Pro 사용자 입니다.

    테스트를 하고 싶었으나,

    "api-ms-win-core DLL" 파일류가 없어서 못하고 있네요.

    iTransHEIF 에서 요구하는 DLL 은

    api-ms-win-core-registry-l1-1-0.dll
    api-ms-win-core-libraryloader-l1-2-0.dll
    api-ms-win-core-libraryloader-l1-2-1.dll ← 구하기가 어렵더군요...

    이런 이유로 사용을 못하고 있습니다...T^T

    • 말씀하신 dll들은 별도로 배포하는 게 아닙니다.
      윈도우즈 버전 간 호환성을 위해 존재하는 dll이고, 시스템에 포함되어 있습니다.
      뭔가 좀 이상한 상황이네요.
      아래 글들을 읽어보시는 게 좋겠습니다.
      https://answers.microsoft.com/en-us/windows/forum/windows_10-files/missing-api-ms-win-core-dlls/d99d1368-0f92-43db-bbdb-7d080f1f96e9?auth=1
      https://social.msdn.microsoft.com/Forums/en-US/a28331ae-19a3-4a34-b3ba-1e8fd4430375/missing-apimswincore-dlls

  2. Favicon of http://art365.tistory.com BlogIcon 짱Øг치 2017.12.15 21:16 신고

    감사합니다.
    즐거운 되세요.

+ Recent posts