Plex 의 하드웨어 트랜스코딩 ?

올해 8월초 Plex Media Server의 하드웨어 트랜스코딩을 지원하는 네번째 프리뷰 버전인 1.8.1.4140이 Plex Pass 사용자에게 공개되었습니다.

이는 1.8.1.4139를 기반으로 하드웨어 트랜스코더를 내장하였다고 합니다. 하지만 지원코덱이 매우 한정적인데 Windows와 Linux에서는 인코딩은 H.264만 지원하고 디코딩은 H.264와 HEVC만을 지원합니다. macOS에서는 인코딩/디코딩 모두 H.264만 지원한다고 합니다. (요즘은 영상이 거의 H.264이긴 하지만 예전에는 상당히 종류가 많았지요.)

먼저 트랜스코딩에 대해 소개하자면 디지털 to 디지털 변환을 의미합니다. 원본 영상파일을 우선 압축하지 않은 형태로 디코딩을 한 후 사용자가 설정한 품질과 음질로 인코딩하여 영상파일을 생성한 다음 이 생성된 인코딩된 영상파일을 대상기기로 스트리밍 하는 방식입니다. 변환이 완료된 다음 대상기기로 스트리밍하는게 아닌 해당영상에서 변환이 완료된 부분을 실시간으로 보냅니다. 다만 이 디코딩과 인코딩의 두 단계 프로세스의 소프트웨어 처리방식은 단순 연산작업이면서도 CPU 자원 전체를 잡아먹게 되는데 이 때문에  가속능력이 있고 단순연산에 최고의 성능을 낼 수 있는 GPU를 활용하여 디코딩과 인코딩을 하게 하는게 바로 하드웨어 트랜스코딩이라는 거죠.

이로인해 얻는 이점은

  1. 플레이어에서 재생 못하는 영상파일을 재생 가능하게 실시간 변환
  2. 화질을 다소 희생시키는 대신 스트리밍 용량을 줄여 데이터 절약
  3. 2항과 비슷한 내용이긴 한데… 속도제한된 환경에서 원활한 재생을 위함

왼쪽 재생정보는 디코딩/인코딩 모두 하드웨어 처리, 오른쪽은 인코딩만 하드웨어 처리

Synology NAS에서는 Linux 기반이므로 Linux와 지원코덱이 동일합니다. 이는 Emby Media Server나 Video Station과 비교하여 너무 빈약한 지원입니다. 예를 들어 WMV 코덱을 사용하는 영상의 경우 소프트웨어 방식으로 읽어들여 디코딩하고 하드웨어를 이용해 H.264코덱을 사용한 영상으로 인코딩하는데 이로인해 CPU와 GPU의 자원 모두를 상당량 사용하게 됩니다.(디코딩은 소프트웨어 처리, 인코딩은 하드웨어 처리) 실제로도 사용하면서 느꼈던 부분입니다. 다만 H.264의 영상의 경우 인코딩과 디코딩 모두 하드웨어로 처리하므로 CPU 사용율은 그다지 많이 오르지 않습니다.

그동안 저전력 사양의 NAS로는 소프트웨어 트랜스코딩으로는 1080p 영상 기준 동시 트랜스코딩은 커녕 하나의 트랜스코딩도 무리였는데 지원 코덱으로 된 영상의 경우 2~3명은 물론 그 이상도 가능합니다. 다만 소프트웨어 처리에 비해 하드웨어 처리로 생기는 단점은 화질!

움직임이 아주 적은 영상에서는 그다지 못느끼지만 움직임이 빠른 영상.. 예를들어 액션영화 같은걸 본다면 화질저하가 크다는 단점이 있습니다.(잔상처럼 남는 깍뚜기들의 향연!)  Emby에서 하드웨어 트랜스코딩으로 영상을 봐도 마찬가지고 Video Station을 모바일에서 볼수 있게 해주는 앱인 DS video에서 품질을 중간 혹은 자동으로 둬도 마찬가지 입니다. 하드웨어 방식으로 트랜스코딩을 하게되면 필연적으로 화질이 꽤나  저하되게 됩니다. Plex도 예외는 아니구요…

Plex Media Server 1.8.1.4140(하드웨어 트랜스코딩을 지원 프리뷰4)은 Plex Pass 구독자만 설치할 수 있으며 하드웨어 트랜스코딩을 위한 필수조건은 Intel 그래픽 코어가 내장된 64bit Intel CPU로 Synology NAS의 경우 2017년 8월 현재 DS216+, DS216+II, DS716+, DS716+II, DS416play, DS916+에서 가능합니다.

현재 많이 사용되고 있는 코덱을 추가하여 하루빨리 정식버전에서 볼 수 있는 날이 왔으면 좋겠네요.

CC BY-NC-ND 4.0 이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다.

댓글 남기기