• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
후기

Innovision N5095 보드에 7.1 DSM Jellyfin 트랜스코딩

쌉쌀개 1898

6

3

https://svrforum.com/nas/331212

에서 이어집니다.

 

비디오스테이션은 시리얼과 맥주소를 바꿔야해서 패스, Plex도 일단 패스 했습니다.

젤리핀을 이용해서 트랜스코딩 성공(?)했습니다.

그런데 너무 여러가지 시도를 해서 헷갈리네요

 

일단 설치과정 먼저 설명드리고 진행하면서 알게된 것들 공유해드립니다.

 

0. Docker 설치

패키지 센터에서 Docker를 찾아 설치해줍니다.

 

1. 내장 그래픽 드라이버 설치

DSM을 설치하고 난 후 /dev/dri가 존재하지 않아 그래픽 드라이버가 설치되지 않은 것으로 예상됩니다.

ls /dev/dri를 입력했을 때 card0 renderD128이 출력되면 설치된 것

 

그래서 내장그래픽카드 드라이버를 설치해줍니다.

인텔 공식 홈페이지에서 CPU의 Device ID를 확인한 후

https://www.intel.com/content/www/us/en/products/sku/212322/intel-celeron-processor-n5095-4m-cache-up-to-2-90-ghz/specifications.html

https://svrforum.com/nas/173779  에서 9-12세대의 내장그래픽 드라이버 패치파일을 다운받습니다.

- 이 글이 서버포럼 검색기에서는 검색이 잘 안되더군요....

(N5095 CPU의 경우에는 i915-4e55.ko, 헤놀로지 내 저장소에 i915.ko라는 파일명으로 저장, 저장된 곳은 /volume1/DSM라고 하겠습니다.)

Putty등으로 SSH접속 후 /usr/lib/modules로 복사해줍니다.

(sudo -i 입력 후 password 입력하여 root 권한 얻은 후 <- 이건 확실하지 않습니다.)

cp /volume1/DSM/i915.ko /usr/lib/modules/i915.ko

그리고 재부팅~

ls /dev/dri를 입력했을 때 card0 renderD128이 출력되면 내장그래픽카드 드라이버 설치 완료

 

2. Jellyfin 설치

Jellyfin 설치도 putty(SSH)로  진행하겠습니다.

설치 방법은 여기저기 많이 나와있습니다.

 

1) 폴더만들기

일반적으로 /volume1/docker/jellyfin에 config와 cache 폴더를 생성하라고들 합니다.

여러가지 귀찮으니까 똑같이 생성해줍니다.

그리고 추가로 ffmpeg 폴더도 생성해줍니다.

ffmpeg 폴더에는 https://johnvansickle.com/ffmpeg/ 에서 ffmpeg-git-amd64-static.tar.xz를 다운받아 압축해제 해줍니다.

(ffmpeg 폴더에 바로 ffmpeg, ffprobe 등의 파일 존재하도록)

- 사실 젤리핀 설치할 때 같이 설치되어야 하는 ffmpeg인데 왠지 같이 설치되지 않더라구요 그래서 자꾸 화질 다운시켜서 보려고 하면 화면재생이 되지 않으며 로그에는 ffmpeg 오류가 납니다..... 이것도 모르고 intel-media-driver 설치하려고 겁나 뻘짓을 많이 했답니다.... 안되면 로그를 확인합시다 ㅠㅠ

 

2) 설치

id <- PUID, PGID 확인

sudo -i

password 입력하여 root 권한 얻기

docker pull jellyfin/jellyfin  <- 젤리핀 다운로드

docker run -d \
--name=jellyfin \
-e PUID=1026 \ <- id 명령어로 확인한 uid 값 입력
-e PGID=100 \ <- id 명령어로 확인한 gid 값 입력
-p 8096:8096 \ <- 이부분은... 잘 모르겠습니다. 포트 변경하고 싶으면 변경하셔도 됩니다.
-v /volume1/docker/jellyfin/config:/config \    <- jellyfin의 설정파일이 저장되는곳 같습니다. 1)에서 만든 폴더
-v /volume1/docker/jellyfin/cache:/cache \    <- jellyfin의 캐시파일이 저장되는곳 같습니다. 1)에서 만든 폴더
-v /volume2/media:/media \    <- 미디어 파일이 있는 곳을 지정해줍니다. : (콜론) 앞쪽에는 저장소 내 위치를, 뒷쪽에는 젤리핀에 표기되는 폴더명이 됩니다.

-v /volume1/docker/jellyfin/ffmpeg:/ffmpeg \      <- ffmpeg가 있는 폴더
--device=/dev/dri/renderD128:/dev/dri/renderD128 \    <- 내장그래픽드라이버의 위치를 설정해줍니다.
--device=/dev/dri/card0:/dev/dri/card0 \   <- 이부분은... 필요한지는 잘 모르겠습니다. 정보를 너무 많이 찾다보니...
--restart=always \
docker.io/jellyfin/jellyfin:latest

 

팁으로 하나 말씀드리자면 -v 가 있는부분은 굳이 쓰지 않으셔도 됩니다.

아래와 같이 도커 중지시켜놓고 편집에서 볼륨설정에 추가시켜주셔도 좋습니다.image.png.jpg

이게 필요한지 모르겠지만 아래와 같이 설정 해줍니다. (아마 위의 명령어에서 다 설정 되었을거 같은데...)

image.png.jpg

3) 추가설정(이부분의 필요성은 잘 모릅니다.)

제어판 - 작업스케쥴러 - 생성 - 트리거된 작업 - 사용자 정의 스크립트

작업이름: Jellyfin chmod(아무거나 써도 됨), 사용자: root

작업설정 탭에서 실행명령에 아래와 같이 입력 후 확인

#!/bin/bash
#Startup Script
#Access for HW Decoder Jellyfin
chmod 666 /dev/dri/renderD128
exit

 

앞에서 만들어두었던 /docker/jellyfin 폴더의 권한을 everyone으로 하여 읽기,쓰기 모두 체크해둡니다.

(없으면 생성하면 됨)

 

3. 젤리핀 설정

브라우저에서 DSM IP:8096 입력 (젤리핀 입장)

입장하면 서버가 뜨는데 가끔 접속이 안될 경우가 있습니다.

과감하게 삭제해주고 다시 입장하면 초기 설정 과정이 뜹니다.

초기 설정에서는 라이브러리(앞에서 설정한 /media 폴더) 설정하는거만 해주면 됩니다. 이건... 쉬울거라 생각하고 패스...

 

왼쪽 위에 메뉴버튼 - 대시보드 - 재생으로 갑니다.

하드웨어 가속 : VAAPI로 설정합니다. (지금 해보니 QSV도 똑같이 되네요)

아래와 같이 체크해줍니다. (하드웨어 가속 란의 밑에 있는 파란색 링크를 누르면 이 부분을 체크해주라고 설명되어있습니다.)

image.png.jpg

ffmpeg 경로를 /ffmpeg로 설정해줍니다.

 

아래로 쭉 내려서 저장~ 하면 모두 끝났습니다.

 

재생해보면 Direct는 cpu 사용율은 0%, 480p 3Mpbs의 cpu 사용율은 70-80%로 나옵니다.

그런데 사실 하드웨어가속을 설정해주던 말던 똑같이 나오네요.... 잘 된거 맞나...

아직 잘 모르겠지만 그냥 쓰렵니다.... 더는......ㅠㅠ

 

트랜스코딩과 관련해서 되고 안되고는 리눅스용 드라이버가 존재하느냐 아니냐에 따라 달려있다고 생각됩니다. 단지 이걸 DSM에 맞게 잘 만들어줄 수 있는 사람이 있느냐 없느냐에 따라 달려있지 않을까....

VAAPI 지원하는 CPU는 아래 링크에서 확인 가능합니다.

 

https://github.com/intel/media-driver/blob/intel-media-22.4.4/README.md#known-issues-and-limitations

https://jellyfin.org/docs/general/administration/hardware-acceleration.html#intel-gen9-and-gen11-igpus

 

아래 링크는 media-driver 설치하는 방법 및 명령어에 대한 설명인데... ubuntu를 기준으로 설명해놓은거라 잘 안되더군요 참고만 하세요~

https://superuser.com/questions/1428442/using-ffmpeg-to-encode-a-video-to-h264-using-intel-quicksync

 

앞으로 뭘 해보면 좋을지 더 찾아봐야겠네요

 

----추가----

지금 보니 docker 말고 synocommunity package에 jellyfin이 올라와 있네요?

이걸로 설치하면 더 쉽게 될수도....?

 

신고공유스크랩
3
profile image 1등
달소 2022.07.05. 09:09

와... 정성이 담긴글 추천드립니다.

정말 고생하셨네요. hw 트랜스코딩이 되야할것같은데.. 드라이버 문제인가.. 애매해보이긴합니다..ㅠ

2등
BYC.ME 2022.07.07. 01:10

저도 보드가 한국에 입항된것 같아요

곧 세관 통과하고 배송되면 같은길 열심히 개척해보겠습니다.

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

첨부 0

번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 59 달소 23.05.29.01:57 23047 +23
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 71 달소 23.05.23.23:58 24721 +23
업데이트 RR-24.3.7 업데이트 10 EXP 1일 전12:25 356 +3
후기 27000원 헤놀 머신 조립 (장난감) 11 헤놀로지맨 1일 전19:51 741 +4
업데이트 릴리즈 봇이 v1.0.2.4 를 너무 여러번 올려 버려 민망하네요. ㅎㅎ 6 화정큐삼 2일 전00:52 357 +4
4969 질문
normal
프리맨2000 6시간 전12:16 64 0
4968 질문
normal
지축또타 7시간 전11:06 106 0
4967 질문
normal
모랄로 7시간 전10:48 193 0
4966 질문
image
양수 18시간 전00:08 103 0
4965 잡담
image
훔친수건 16시간 전01:47 303 0
4964 질문
image
레이져 21시간 전21:16 94 0
4963 질문
image
스맛홈매니아 22시간 전20:21 74 0
4962 업데이트
image
EXP 1일 전12:25 357 +3
4961 질문
image
유니파트 1일 전22:15 233 0
4960 후기
image
헤놀로지맨 1일 전19:51 741 +4
4959 질문
image
유니파트 1일 전18:24 69 0
4958 질문
normal
Skywa1ker 2일 전17:46 168 0
4957 질문
normal
블랙앤해적 2일 전17:37 42 0
4956 질문
normal
요트 2일 전17:13 304 0
4955 질문
normal
zip 2일 전13:01 129 0
4954 질문
normal
모랄로 2일 전09:30 126 0
4953 업데이트
normal
화정큐삼 2일 전00:52 357 +4
4952 후기
image
kmw_ 3일 전16:06 621 +2
4951 질문
image
메가펀치 3일 전15:42 84 0
4950 질문
normal
모랄로 3일 전13:01 117 0