제목이 설명한 대로 HEVC 영상의 코덱 ID가 hev1으로 돼 있는 것을 hvc1으로 변경해 주는 간단한 프리셋입니다.
---------------------------------------------------------------
libx265는 HEVC 영상을 인코딩할 때 영상의 기본 코덱 ID값(FourCC)으로 'hev1'을 줍니다. (샤나도 libx265를 사용하므로 이에 해당) 하지만 이것이 초래하는 몇 가지 문제가 있습니다.
- 애플 퀵타임 플레이어에서 해당 영상을 불러오지 못합니다.
- 맥의 QuickLook에서 해당 영상을 인식하지 못합니다. 그외 퀵타임 라이브러리를 기반으로 하는 동영상 관련 앱들이 해당 영상을 제대로 다루지 못합니다.
- 미디어 서버를 이용해 영상을 재생해 주는 앱들(특히 애플 TV) 중 몇몇은 해당 영상을 direct stream하지 못하고 transcoding 과정을 거치거나(영상 퀄리티가 저하되고 재생에 시간이 소요) 아예 재생하지 못합니다.
써놓고 보니 애플과 관련된 문제가 대부분이군요. ^^;;;
이 문제를 해결하는 방법은 간단합니다. MediaInfo 같은 프로그램으로 해당 영상의 비디오 코덱 ID가 'hev1'으로 돼 있는지 확인한 후 첨부된 프리셋으로 코덱 ID만 'hvc1'으로 변경하면 됩니다. 모든 비디오, 오디오 스트림(트랙)들은 그대로 copy되므로 변환 시간은 아주 짧습니다.
인코딩 설정에 대한 설명입니다.
======================================================================
-f mp4 // 컨테이너 포맷(파일 형식)을 mp4로 지정
-map 0 // 원본의 모든 스트림(트랙)들을 포함
-codec copy // 비디오, 오디오 모두 스트림 카피
-tag:v hvc1 // 비디오 코덱 ID를 'hvc1'으로 설정
======================================================================
무척 간단하죠? ^^;;