오드로이드 H3 + Proxmox에서 트랜스코딩하기
안녕하세요. 달소입니다.
오드로이드 H3 를 영입함에따라 테스트들이 가속화되고있습니다.
후.. 짬나는시간에 하나하나 하느라.. 느리지만 그래도 하나씩 처리하도록 노력중이니..ㅎㅎ
오드로이드 H3의 경우 Jasperlake의 intel n5105 cpu를 사용하기때문에 인텔의 igpu를 통해 트랜스코딩이 가능한데요.
여기서는 Proxmox 가상화를 통해서 lxc에 트랜스코딩이 가능한 plex 서버를 구성했습니다.
이렇게했을때의 장점은 가상화에서 plex를 사용하기때문에 lxc에서 smb/cifs 연결을 통해 NAS에서 영상을 땡겨서 틀어줄수있습니다. 오드로이드에 굳이 nas를 연결할 필요는 없지요.
일단 선 결론을 내자면.. 잘됩니다!
전/후를 비교해보자면
전에는 99%에 육박하면서 제대로 재생도안되던게 hw인코딩 적용후에는 잘됩니다.
진행환경
Odroid H3
CPU : Intel N5105
OS : Proxmox 7.2
LXC : Ubuntu 22
Proxmox 환경설정
먼저 proxmox에서 환경설정을 사전에 준비해주셔야합니다.
쉘로 들어가서 apt update 후 5.19 커널을 설치해줍니다.
apt update apt install pve-kernel-5.19
설치가 되었으면 grub 수정이 필요한데
vi /etc/default/grub 에 들어가서
GRUB_CMDLINE_LINUX_DEFAULT 의 내용에 initcall_blacklist=sysfb_init 를 아래와같이 추가해줍니다.
그리고 update-grub로 grub을 업데이트해주고 아래명령어를 입력해주세요.
echo “options i915 enable_guc=2” >> /etc/modprobe.d/i915.conf
완료되면 igpu사용을 위한 펌웨어 파일을 다운로드받아줍니다.
cd /lib/firmware/i915 wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/i915/ehl_guc_70.1.1.bin
그리고나서 재부팅을 해주면 5.19 커널로 부팅이됩니다.
이제 Host Promox에 대한 설정은 끝났으니 LXC에 대한 단계입니다.
LXC생성 및 Plex 설치하기
먼저 lxc설치를 위한 템플릿파일을 다운로드받아주세요.
CT 템플릿 -> 템플릿 -> Ubuntu 22
다운로드가 되면 우측상단에 CT생성
그뒤에 코어/ram/disk등은 입맛대로 해주시고 ip도 dhcp로 해주셔도 무방합니다.
생성 후 시작은 체크하지 마시고 여기서 마침을 눌러주세요.
생성 후 해당 lxc로 가서 옵션 -> 특징 -> 중첩을 활성화해줍니다.
그리고 다시 Proxmox 쉘로가서.. lxc의 conf파일에 아래 내용을 추가해주세요.
ex) lxc 번호가 102라면
vi /etc/pve/lxc/102.conf
lxc.cgroup2.devices.allow: c 226:0 rwm lxc.cgroup2.devices.allow: c 226:128 rwm lxc.cgroup2.devices.allow: c 29:0 rwm lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir lxc.mount.entry: /dev/dri/renderD128 dev/renderD128 none bind,optional,create=file
그리고 lxc를 실행시켜주세요.
실행이 됐으면 드라이버를 설치해줍니다.
apt install intel-media-va-driver-non-free
ls -al /dev/dri 로 봤을떄 아래처럼 나오면 igpu가 패스스루된것입니다.
이제 plex를 설치해보겠습니다.
22/10/20 최신버전기준입니다.
wget https://downloads.plex.tv/plex-media-server-new/1.29.1.6316-f4cdfea9c/debian/plexmediaserver_1.29.1.6316-f4cdfea9c_amd64.deb dpkg -i plexmediaserver_1.29.1.6316-f4cdfea9c_amd64.deb
요렇게 i915 hardware : found로 되면 잘설치된것입니다
포트도 보면 이렇게 32400도 열려있구요
테스트
ip:32400/web으로 들어가서 서버의 소유권 확인 및 미디어파일을 업로드하신뒤에
트랜스코더 -> 가능할 경우 하드웨어가속 사용을 체크해주시면됩니다.
요로코롬 잘됩니다.
cmt alert