5.7k 360도 영상 인코딩 압박으로 인해 M1 PRO로 가려 했다가
https://www.clien.net/service/board/cm_mac/16847367CLIEN
우선 M1 맥미니를 써보고 있는 따끈君입니다.
https://www.clien.net/service/board/cm_mac/16880978CLIEN
애플에서 만든 유료 동영상 압축 프로그램인 compressor를 이용해 M1 맥미니에서 영상 인코딩 테스트를 해보았습니다.
영상 원본은 다음과 같습니다.
H.264 코덱에 해상도 5.7k, 길이 30분, 원본 비트레이트 200mbps 입니다.
이걸 Fade In, Out 3초씩 준 상태에서 HEVC(H.265) 100mbps로 인코딩하니 시간이 이렇게 걸렸습니다.
HEVC 인코딩 옵션 중에 High Quality를 선택시 30분이 지나도 CPU가 혹사당할 뿐 진행막대가 안 보이길래 중간에 취소했습니다.
Standard Quality를 선택하면 인코딩 시간이 34분으로 거의 실시간이었고, Multipass 옵션을 켜면 딱 2배 걸렸습니다.
HEVC SQ 인코딩 시에 CPU를 거의 안 쓰는걸로 보아 M1의 하드웨어 인코딩 기능을 쓰는 듯 했습니다.
반면 H.264 100mbps로 인코딩 해보니
YouTube 업로드에 최적화된 걸로 알려져 있는 high 프로파일을 선택했는데 재생시간의 4배인 2시간이 들었습니다.
Multipass 옵션을 켜니 5시간 15분으로 2.5배 걸렸습니다.
인코딩시 CPU를 미친듯이 갈구는 걸 보니 M1의 하드웨어 인코딩 기능은 거의 안 쓰는 듯 싶었습니다.
main 프로파일도 마찬가지로 CPU를 엄청 쓰고 대략 1시간 정도 걸렸습니다. (스샷없음)
상당히 의외의 결과였습니다.
아직 더 테스트를 해보아야 하겠지만, 적어도 5.7k H.264 동영상에 대해서는 H.264로는 하드웨어 인코딩이 안 되는 것 같아서 꽤나 당황스러웠습니다.
M1의 media engine이 코덱별로 채널이 존재해서, 원본영상(H.264)을 디코딩하는데 하드웨어를 쓰는 바람에 H.264 인코딩에 CPU를 쓰지 않았을까 추측해봅니다.
왜냐하면 원본영상(H.264)을 HEVC로 인코딩할 땐 CPU를 안 쓰고 매우 빠르게 됐기에...
이렇게 가정한다면 애플이 M1 MAX에 media engine을 왜 2개 넣어놨는지 이해되는 것 같습니다. (ProRes to ProRes 변환...)
덧. 조만간 HEVC 원본을 H.264로 인코딩하는 테스트를 해봐야겠습니다.
인코딩과 달리 디코딩은 방법이 하나 뿐이니까요.
intel mac 시절에도 hevc는 sq는 GPU, HQ는 cpu를 이용했습니다.
h264는 제가 안써봐서 잘 모르겠네요..