반응형

[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
반응형

[QNAP] TS-251 Ubuntu VNC Docker 설치

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

필요사항

  • Container Station ( App Center )

설치 및 실행

QNAP의 경우 Conainter Station에서 Docker들이 관리된다.
SSH로 NAS에 접근하여 다음과 같은 Script 를 통해 Docker 설치를 진행하면
VNC를 통해 접근가능한 Ubuntu Image를 설치할 수있다.

사용법은 다음과 같다
./install.sh <VNC접근 비밀번호>

    install.sh

    #!/bin/bash
    if [ "$#" -ne 1 ]; then
      echo "Usage>install.sh <VNCPASSWROD>"
      exit 1
    fi


    mycmd="docker run -d --name ubuntu \
    -p 6080:80 \
    -p 5900:5900 \
    -e VNC_PASSWORD="$1" \
    -e RESOLUTION=1920x1080 \
    -v /dev/shm:/dev/shm \
    -v /share:/share \
    --device "/dev/dri:/dev/dri" \
    dorowu/ubuntu-desktop-lxde-vnc"

    echo ${mycmd}
    ${mycmd}

5900 포트를 통해 VNC접근을 시도하면 성공적으로 사용할수 있다.

반응형

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

[QNAP] VIM Static Build  (0) 2020.01.16
[QNAP] TS-251 TVHeadend VAAPI (HW가속) 사용  (0) 2019.06.07
[QNAP] TS-251 Showdown 설치  (0) 2019.05.18
[QNAP] TS-251 Flexget Setup  (0) 2019.04.25
[QNAP] TS-251 TVHeadend + HW Transcoding  (0) 2018.12.19
반응형

[QNAP] TS-251 Showdown 설치

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

최근 이슈가되고 있는 Showdown의 QNAP설치 방법에 대해 정리해 보고자 합니다

우선 개발자 블로그에 매우 잘 설명되어있으니 아래 링크 포스팅을 잘 읽어보시길 바랍니다

https://iodides.tistory.com/7?category=693844

필요사항

  • JRE ( App center )

설치 및 실행

제작자가 매우 간편하게 실행가능하도록 배포하고있어서 JRE설치 이후에 바로 사용이 가능하다.
위의 블로그 링크에서 최신 버전을 받아서 서버의 특정 위치에 압축을 풀어준다
이후 다음과 같은 명령어를 통해 실행가능하다.

Shell> sh start.sh

끝 ~~ 이렇게 되면 Server가 로그와 함께 실행이 되고
아래의 클라이언트 명령어를 통해 제어 할 수 있다.

Shell> sh cli.sh

나머지 사용법은 배포자님 블로그를 정독하길 바란다. 다 읽어보면 쓰여있더라고요
(저도 제대로 안읽고 사용하다가 잘못된 문의를 드린적이 있습니다ㅠㅠ)

QNAP 시작시 자동으로 실행

본인이 잘 쓸줄 몰라서 그러는건지... autorun.sh에 스크립트로 작성하여 실행 되도록 세팅을 하면
이상하게도 서버 초기화 오류와함께 사용이 불가능 하였다.
그래서 다음과 같은 가짜 QPKG를 만들어 쓰는 방법으로 시작하도록 구성하였습니다.
아래 설명상의 Path는 본인의 환경에 맞게 변경하시기 바랍니다

vi로 /etc/config/qpkg.conf 파일을 열어 다음과 같은 라인을 맨뒤에 추가해줍니다.

[autoexec]
Name = autoexec
Version = 1
Author = Self
QPKG_File = autoexec.qpkg
Date = 2016-05-17
Shell = /share/CACHEDEV2_DATA/.qpkg/autorun/autorun_qpkg.sh
Install_Path = /share/MD0_DATA/.qpkg/autorun/
RC_Number = 254
Enable = TRUE
Status = complete
Official = 0

그리고 수행될 Script를 다음 폴더에 생성 합니다. 웹에서 찾은 스크립트를 약간 변영하여 하위에 있는 Script폴더에 있는 shell 파일을 돌아가며 수행해 주는 스크립트입니다.

cd /share/CACHEDEV2_DATA/.qpkg
mkdir -p autorun/scripts
cd autorun
vi autorun_qpkg.sh #아래 파일 작성
cd scripts
vi 010-showdown.sh

autorun_qpkg.sh

#!/usr/bin/env bash

AUTORUN_PATH="/share/CACHEDEV2_DATA/.system/autorun"
SCRIPT_STORE_PATH="/share/CACHEDEV2_DATA/.system/autorun/scripts"
LOGFILE='/var/log/autorun.log'

echo "$(date) ----- running $0 -----" >> "$LOGFILE"


case "$1" in
    start)
        for i in ${SCRIPT_STORE_PATH}/*; do
            if [[ -x $i ]]; then
                echo -n "$(date)" >> "$LOGFILE"
                echo " - $i " >> "$LOGFILE"
                $i 2>&1 >> "$LOGFILE"
            fi
        done
    ;;
    stop)
        kill -9 $(ps -ef | grep 'Server.jar' | awk '{print $1}')
    ;;
    restart)
        $0 stop
        $0 start
    ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit 0

010-showdown.sh

#!/bin/bash
export LANG=en_US.UTF-8
cd /share/my/showdown
#sleep 15m
/share/CACHEDEV2_DATA/.qpkg/JRE/jre/bin/java -jar Server.jar &

이후 App Center에 보면 autoexec pkg가 추가되어있고 시작, 정지가 가능하며 재부팅시 자동으로 서버가 수행되게 됩니다.

반응형
반응형

[Surface Pro] Type Cover 입력 딜레이(슬립) 관련 설정

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

이번에 새로 Surface Pro 6를 구매하여 사용중에 있었다.
사용하는 도중 Keyboard의 입력이 없을때 한 30초 후 마치 Sleep Mode에 진입된 것 과 같은 느낌으로 키보드의 입력이 되지 않고 Sleep Mode에서 깨어나는 듯이 1~2초후에 입력이 가능한 상태로 되는 듯 한 상태가 반복되어 입력하여 사용하는데 너무나도 큰 문제가 되었다.

USB를 통한 초기화와 같이 아래 링크에 있는 모든 복구를 시도해 보았으나 모두 다 실패
https://support.microsoft.com/ko-kr/help/4023473/surface-troubleshoot-your-type-cover-or-keyboard

보장기간 내여서 Microsoft에 지원을 요청하였으나
지원해주시는 분들은 본적도 없는 오류라고...
하지만 검색을 해보면 동일한 증상을 보이는 포스팅들이 많이있었다.

키보드 문제인지 서피스 문제인지 확인하려면 교차테스트를 해야한다며... 하지만 한대밖에 없는데 테스트가 불사능 하였고, Typecover를 교체 받기 까지 하였다.

Typecover교체는 정품 등록후 사유와 함께 신청하면 간단하게 이루져 이점은 매우 만족스러웠으나
여전히 새로운 키보드에서도 동일한 증상이 발생하였다.
결국 이런저런 옵션을 계속 확인하다. 드디어 해결!!!

사설은 여기까지 하고 서피스프로 사용중에 키보드 슬립 문제가 발생한다면 다음과 같이 Set-up해 보시길 바랍니다.

  1. 윈도우키 + X
  2. 장치관리자
  3. 휴먼 인터페이스 장치
  4. USB 입력 장치
  5. 전원관리
  6. 전원을 절약하기 위해 컴퓨터가 이 장치를 끌 수 있음 옵션 체크제거

스크린샷과 같은 옵션을 적용한 후 슬립 모드에 의한 키보드 딜레이는 발생하지 않고있다 오예!!
혹시 계속 증상이 지속되시는 분들은 장치관리자에서 범용 직렬 버스 컨트롤러 하에 존재하는 USB컨트롤러 or 루트허브의 전원 관리 옵션도 위와같이 적용해 보시길 바랍니다.

반응형
반응형

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

Requirement

  • QTransmission (QNAP Club)
  • QPython3(QNAP Club)

환경 설정

~/.barshrc에 다음 Path를 추가하여 Python 환경을 사용한다

CONF=/etc/config/[qpkg.conf](qpkg.conf)  
QPKG_NAME="QPython3"  
QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f ${CONF}`  
export PYPATH=${QPKG_ROOT}/bin

Flexget 설치

다음과 같은 과정을 통해 진행되었다. Python Version과 Path는 본인에 맞게 수정해야 한다
Pip Install과정에서 Disk Usage관련 메세지가 발생하여 /share/my/flexget 폴더에 다운로드 및 빌드를 하여 사용하였다.

https://flexget.com/InstallWizard/Linux

/bin/bash
$PYPATH/pip3 install -U setuptools
$PYPATH/pip3 install virtualenv
cd /share/my #Install 하고싶은 Root DIR
$PYPATH/virtualenv flexget
cd flexget
source bin/activate
pip3 install pytest-runner
pip3 install transmissionrpc
pip3 install flexget --cache-dir=/share/my/flexget/cache --build-dir=/share/my/flexget/build

스케쥴링

https://flexget.com/InstallWizard/Linux/Scheduling

한시간에 한번씩 flexget을 수행하기 위해 스케쥴링에 등록하여 준다.

#export EDITOR=vim
#crontab -e
vim /etc/config/crontab
#VIM 상에서 아래 한줄을 추가해 준다
20 * * * * LC_ALL=en_US.UTF-8 /share/my/flexget/bin/flexget -c /share/my/flexget/config.yml --cron execute

설정

설정은 Flexget 공식 사이트를 참조하여 본인 RSS및 관련설정에 맞게 진행하면된다.

https://flexget.com/Configuration

그리구 구글링해보면 여러 블로그들을 확인 할 수 있으니 참고하시길

https://awesometic.tistory.com/85
https://taking.kr/blog/archives/5395.html

반응형

+ Recent posts