Plex 그래픽 가속 여부에 따른 화질 비교 (2)

지난번에 비교했던 것만으로는 조금 모자라기도 하고, 좀더 다양한 조건에서의 Plex의 그래픽 가속 (하드웨어 가속) 기능을 시험해 보고 싶었기에 2부를 추가한다. 현재 사용중인 Plex용 서버는 브로드웰 기반이지만, 데스크탑은 카비레이크 기반에 Nvidia 그래픽 카드를 탑재하고 있어, 윈도우 기반의 인텔 퀵싱크와 NVENC까지도 전부 체크해보기로 하였다.

이번 Plex 그래픽 가속에 따른 화질 비교는 다음의 6가지 조건에서 행하기로 하였다.

  1. 그래픽 가속 기능을 끈 경우 (CentOS 7.3)
  2. 브로드웰 프로세서 (i3-5010U)의 인텔 퀵싱크를 사용한 경우 (Windows 10)
  3. 카비레이크 프로세서 (i7-7700K)의 인텔 퀵싱크를 사용한 경우 (Windows 10)
  4. NVENC (GTX 1060)를 사용한 경우 (Windows 10)
  5. 브로드웰 프로세서 (i3-5010U)의 VA-API 0.34를 사용한 경우 (Ubuntu)
  6. 브로드웰 프로세서 (i3-5010U)의 VA-API 0.99를 사용한 경우 (CentOS 7.3)

카비레이크의 경우도 리눅스에서 VA-API 테스트를 해보고 싶었으나… 데스크탑을 밀어야 하는 이유로 포기했다. 나중에 기회가 있겠지.

정적인 화면에서는 별 차이가 없다는걸 지난번에 보았기 때문에 이번에는 동적인 화면 비교 위주로 보여주려고 한다.

비교 프레임 첫번째

The False Songstress - Normal

CPU 트랜스코딩

The False Songstress - QSV - Broadwell with Windows 10

브로드웰 인텔 퀵싱크 트랜스코딩 (Windows 10)

The False Songstress - QSV - Kabylake with Windows 10

카비레이크 인텔 퀵싱크 트랜스코딩 (Windows 10)

The False Songstress - NVENC

NVENC (GTX1060) 트랜스코딩

The False Songstress - VAAPI 0.34 - Broadwell with Ubuntu

브로드웰 VA-API 0.34 트랜스코딩 (Ubuntu)

The False Songstress - VAAPI 0.99 - Broadwell with CentOS

브로드웰 VA-API 0.99 트랜스코딩 (CentOS)

비교 프레임 두번째

The False Songstress - Normal

CPU 트랜스코딩

The False Songstress - QSV - Broadwell with Windows 10

브로드웰 인텔 퀵싱크 트랜스코딩 (Windows 10)

The False Songstress - QSV - Kabylake with Windows 10

카비레이크 인텔 퀵싱크 트랜스코딩 (Windows 10)

The False Songstress - NVENC

NVENC (GTX1060) 트랜스코딩

The False Songstress - VAAPI 0.34 - Broadwell with Ubuntu

브로드웰 VA-API 0.34 트랜스코딩 (Ubuntu)

The False Songstress - VAAPI 0.99 - Broadwell with CentOS

브로드웰 VA-API 0.99 트랜스코딩 (CentOS)

트랜스코딩 속도

위 테스트는 1080P 5229kbps 원본 영상을 H264 Medium 프리셋을 설정하고 Plex 최적화 기능을 이용해 480P (1.5Mbps) 설정으로 트랜스코딩한 것으로, 실시간 트랜스코딩과는 차이가 있다.

  • 브로드웰 CPU 트랜스코딩 : 2~4배속
  • 브로드웰 인텔 퀵싱크 트랜스코딩 : 4~5배속
  • 카비레이크 인텔 퀵싱크 트랜스코딩 : 10~11배속
  • NVENC 트랜스코딩 : 11~12배속
  • 브로드웰 VA-API 트랜스코딩 : 11~13배속

브로드웰이 인텔 퀵싱크를 사용할 때와 VA-API를 사용할 때 배속이 다른 것으로 보아, 내부적으로 옵션이 다르게 적용되는 듯 하다. VA-API가 인텔 퀵싱크에 100% 대응이 안되거나.

결론

리눅스 VA-API는 버전 불문하고 못써먹을 물건이다라는 것 하나는 확실히 알았다. 사실 버전차이가 제대로 있는건지도 좀 의심스러운데 두 경우에 나온 결과물의 용량이 바이트 단위까지 정확하게 일치하기 때문이다. VA-API 0.34는 우분투 기본 리포지터리에 있던 걸 사용한거고 VA-API 0.99는 Intel Media Server Studio를 설치해 사용한 것인데, 전혀 차이가 없었다.

다만, 윈도우에서 구동한 인텔 퀵싱크의 경우는 카비레이크든 브로드웰이든 준수한 퀄리티를 보여주고 있었다. NVENC도 마찬가지로 괜찮은 화질을 보여준다. 물론 디테일을 자세히 들여다보면 CPU만 사용한 것보다는 픽셀이 상당히 뭉개져있지만.

화질은 대략 CPU > NVENC > 윈도우 인텔 퀵싱크 > 리눅스 VA-API 순서로 보인다. PSNR 비교까지 해보고 싶긴 하지만 그건 내가 방법을 모르니 넘어가기로 하고 -_-);;

결론은 Plex로 그래픽가속을 하고싶다면 윈도우가 필수라는 것이다. 그래픽 가속 기능을 기대하기 어려운 경우, 예를 들어 2011년도 이전에 출시된 인텔 CPU이거나 아예 그래픽 카드가 내장되어 있지 않은 제온 라인업의 경우, 리눅스에서 CPU만으로 트랜스코딩을 하도록 하는게 좋겠지만, 그래픽 가속이 가능한 시스템 구성이라면 윈도우로 Plex 서버를 꾸미는 것이 화질면에서 엄청난 우위를 차지할 수 있을 것이다.

참고사항

  • 윈도우 Plex 서버에서 브로드웰 인텔 퀵싱크를 이용해 실시간 트랜스코딩할 경우, 무슨 이유에서인지 화면의 노이즈가 심하다. 실사용 불가. 다만 카비레이크는 괜찮다.
  • NVENC를 이용할 경우, 동시에 2개까지만 트랜스코딩할 수 있다. 이는 GTX 라인업의 NVENC 인스턴스 갯수 제한으로 인한 것인데 산업용, 전문가용으로 사용되는 쿼드로 라인업을 사용할 경우 이 제한이 풀린다. (참고 : NVIDIA 개발자 포럼)
By | 2017-10-11T15:04:32+00:00 2017-10-11|Review|0 Comments

About the Author:

프로그래밍을 좋아하는 건축공학도입니다. 블로그는 프로그래밍과 IT쪽으로 현재 운영중이지만 앞으로 건축관련 내용도 다뤄보려고 합니다. 원래 Android 및 Java를 주력으로 다뤘지만 최근에는 개인 프로젝트로 인하여 C#을 주력으로 다루고 있습니다.

Leave A Comment

%d 블로거가 이것을 좋아합니다: