반응형

[QNAP] TS-251 TVHeadend VAAPI (HW가속) 사용

이 포스팅은 Notion에서 작성되었으며 다음추천인 링크를 통해 가입하시면 $10 Credit을 얻으실 수 있습니다(저에게는 $5 Credit이 쌓입니다)
Notion 가입 Link

필요사항

  • Codex Pack ( App Center )
  • QPython2 ( Qnap Club )
  • TVHeadend (Qnap Forum )
  • Ubunutu 18.04 Docker with Container Station ( App Center )

설치 및 실행

TVHeadend의 기본 QPKG파일들은 QNAP Forum에서 배포하고 있어 쉽게 사용이 가능하지만
VAAPI가속을 지원하지 않아 CPU Transcoding만 사용가능하여 x86_64기반의 NAS에서도 하드웨어
가속 기능을 사용하지 못하게 되어있다.

QNAP Fourm에 Codex Pack를 사용하도록 컴파일하여 사용 가능한 방법이 포스팅 되어있어 참고하여 정리해본다.

우선 설치되어있는 TVHeadend는 App Center에서 정지시켜 준다. 그 후
Ubuntu 18.04 Docker에서 다음 과 같은 Script를 수행하여 Compile한다
여기서 QPKG_DIR는 각자 TVHeadend qpkg 설치 되어있는 경로로 변경한다

#!/bin/bash
QPKG_DIR=/share/CACHEDEV2_DATA/.qpkg/TVHeadend

apt update
apt install -y pkg-config gettext libssl-dev zlib1g-dev \
wget git-core liburiparser-dev python-requests cmake libpcre3-dev libdvbcsa-dev \
libva-dev

git clone https://github.com/tvheadend/tvheadend.git
cd tvheadend

echo './configure --disable-avahi --enable-bundle --disable-dbus_1 --enable-hdhomerun_client --enable-libfdkaac --enable-vaapi' >> myconf.sh
/bin/bash myconf.sh

make -j

mkdir -p ../qpkg/bin/libc

cp build.linux/tvheadend ../qpkg/bin/

ldd build.linux/tvheadend | grep "=> /" | awk '{print $3}'| xargs -I '{}' cp -v '{}' ../qpkg/bin/libc

rm ../qpkg/bin/libc/libva.so.2 ../qpkg/bin/libc/libva-drm.so.2
#2020-01 추가 Libva버전이 안맞아서 기존 폴더에있던것도 삭제
rm $QPKG_DIR/bin/libc/libva.so.2 $QPKG_DIR/bin/libc/libva-drm.so.2

cp /lib/x86_64-linux-gnu/ld-2.27.so ../qpkg/bin/libc/tvh-loader

cp -rf ../qpkg/* $QPKG_DIR/.

그리고 QPKG_DIR 내의 TVHeadend.sh 에서 Start TVHeadend로 주석되어 있는 위치를 찾아 다음과 같이 수정해 준다.

# Start TVHeadend
        CODEX_QPKG_NAME="CodexPack"
        CODEX_INSTALL_PATH=$(/sbin/getcfg -f $CONF $CODEX_QPKG_NAME Install_Path)
        /usr/bin/env ${TVH_CMDLINE_PREFIX} \
                LIBVA_DRIVERS_PATH=${CODEX_INSTALL_PATH}/opt/cdx/lib/dri \
                ${QPKG_DIR}/bin/libc/tvh-loader \
                --library-path ${QPKG_DIR}/bin/libc:${CODEX_INSTALL_PATH}/opt/cdx/lib:${CODEX_INSTALL_PATH}/usr/lib/x86_64-linux-gnu \
                ${QPKG_DIR}/bin/tvheadend --config ${QPKG_DIR}/config \
                --user admin --group administrators \
                ${CMDLINE_OPTS} ${TVH_CMDLINE_POSTFIX}

이후 TVHeadend를 다시 수행하면 VAAPI 드라이버를 사용 가능하게 됩니다.
혹시 문제가 있을경우 다음 명령어를 통하여 디버그 메세지를 확인해 보시기 바랍니다

$QPKG_DIR/TVHeadend.sh debug start

TVHeadend Setting 및 VAAPI 코덱 설정들은 검색을 해보시면 잘 정리되어있는 블로그들이 많으니 참고하시기 바랍니다

반응형

'Software > QNAP TS-251' 카테고리의 다른 글

[Plex] URL을 통해 라이브러리 Scan  (4) 2020.02.10
[QNAP] VIM Static Build  (0) 2020.01.16
[QNAP] TS-251 Ubuntu VNC Docker 설치  (0) 2019.06.07
[QNAP] TS-251 Showdown 설치  (0) 2019.05.18
[QNAP] TS-251 Flexget Setup  (0) 2019.04.25

+ Recent posts