본문 바로가기

IT/NAS

[자작NAS] 8. 우분투 서버에 Tvheadend 설치

Tvheadend는 TV 스트리밍 서버로 활용할 수 있도록 합니다.

IPTV나 TV 수신카드의 데이터를 TV 신호를 PC나 안드로이드 기기 등에서 볼 수 있도록 해줍니다.

Tvheadend를 설치하는 방법과 활용 방법을 알아보도록 하겠습니다.


1. 도커에서 Tvheadend 이미지 받고 설치하기

Tvheadend는 공식적으로 제공되는 이미지는 없는 것으로 보입니다.

그래도 다양한 유저가 제공하는 커스텀 이미지가 존재합니다.

그 중 다운로드 횟수가 가장 많은 tobbenb/tvheadend-unstable을 다운로드 받아서 설치하도록 하겠습니다.

아래 주소를 통해서 도커파일 등의 내용을 확인할 수 있습니다.

https://hub.docker.com/r/tobbenb/tvheadend-unstable/

이미지를 받을 때는 tobbenb라는 사용자명도 함께 입력해서 받아야 합니다.

아래와 같이 입력해서 tobbenb/tvheadend-unstable을 설치합니다.

docker pull tobbenb/tvheadend-unstable

설치한 이후에는 레코딩을 위한 디스크 공간이 필요할 수 있습니다.

우분투를 가상OS로 사용할 경우 용량이 부족할 수 있기 때문에 윈도우의 공유 폴더를 사용할 수 있습니다.

윈도우 공유폴더를 우분투에서 마운트 하는 방법은 아래의 방법을 참조하면 됩니다.

2016/09/17 - [IT/컴퓨터/Linux] - [Ubuntu] 윈도우 공유 폴더(CIFS) 마운트

먼저 필요한 디렉토리를 생성하고 권한을 추가합니다.

sudo mkdir -p ~/tvheadend/config && sudo chmod 777 -R ~/tvheadend

sock 파일이 생성되야 하는데 config 디렉토리가 윈도우 공유 폴더인 경우 생성이 안되는 것으로 보입니다.

그리고 Tvheadend의 컨테이너를 생성합니다.

sudo docker run --name tvheadend --restart always -v ~/tvheadend/config:/config -v /mnt/tvheadend/recordings:/recordings -v /etc/localtime:/etc/localtime:ro --net=host -d tobbenb/tvheadend-unstable

위에서 ~/tvheadend/config와 /mnt/tvheadend/recordings 부분 사용할 우분투 경로를 입력하면 됩니다.

데이터 볼륨을 사용하는 옵션이 추가되면서 상당히 긴 명령어를 입력해야 합니다.

간단하게 tvheadend 도커 컨테이너가 생성됩니다.


2. Tvheadend 초기설정

Tvheadend는 웹브라우저를 통해서 접속이 가능합니다.

우분투 서버의 포트:9981로 접속하면 다음과 같은 웹페이지를 확인할 수 있습니다.

언어와 EPG 언어의 우선 순위를 설정하고 Save&Next를 클릭합니다.

이 화면은 언어 변경이 완료되고 다시 한 번 뜰 수 있는데 다시 Save&Next를 클릭하면 됩니다.

다음으로 관리자 아이디를 추가하는 작업입니다.

Allowed network에 0.0.0.0/0을 입력하면 어디서든 연결이 가능합니다.

192.168.1.xxx의 내부 IP만 접속을 허용하려면 192.168.1.0/24로 입력하면 됩니다.

그리고 관리자 아이디와 사용할 비밀번호를 입력하면 됩니다.

다음으로 네트워크 설정 화면입니다.

아무것도 수정하지 않고 바로 Save&Next를 클릭해서 다음 단계로 이동합니다.

이번 단계도 별도의 설정이 없이 바로 Save&Next를 누르면 됩니다.

스캔이 자동으로 이뤄지고 바로 다음 단계로 이동하면 됩니다.

이 단계도 설정을 그대로 두고 다음 단계로 이동합니다.

Finish를 누르고 기본 설정을 완료합니다.

설정을 완료하면 초기 설정에 입력한 아이디와 비밀번호를 입력해서 로그인을 합니다.

설정에서 User interface levelExpert로 변경하고 ThemeAccess로 변경합니다.

사용을 위한 기본적인 준비가 완료됩니다.


3. IPTV 채널 등록하기

IPTV를 사용하고 있다면 채널을 등록하고 Tvheadend를 통해서 시청이 가능합니다.

Tvheadend를 설치하는 가장 큰 이유 중 하나입니다.

IPTV 업체(S사, K사, L사)의 각 채널 IP를 먼저 얻어야 합니다.

각 채널을 켠 상태로 Wireshark 등의 패킷 모니터링 툴을 통해 채널 IP를 확인할 수 있습니다.

네트워크를 추가하기 위해 Configuration > DVB Inputs > Networks를 실행합니다.

네트워크를 추가하는 메뉴가 표시됩니다.

IPTV Network를 선택하면 다음과 같은 설정화면으로 넘어갑니다.

Network name에 식별 가능한 이름을 입력하고 Create를 눌러서 생성합니다.

이제 각 TV 채널을 등록하기 위해 Configuration > DVB Inputs > Muxes를 실행합니다.

Muxes 아래에 보이는 Add 버튼을 누르면 채널을 추가할 수 있습니다.

Network에서 위에서 추가한 네트워크 이름을 클릭하면 바로 화면이 전환됩니다.

URL에는 각 채널의 IP를 입력하는데 S사는 udp를 사용하고 그 외에는 rtp를 사용합니다.

Mux name과 Service name에는 채널의 이름을 입력합니다.

Channel number는 입력을 해도 되고 하지 않아도 무방합니다.

마지막으로 다 입력되면 Create를 눌러서 생성하면 해당 채널이 등록됩니다.

채널의 Scan result가 OK가 표시되면 정상적으로 완료된 것 입니다.

좌측의 재생 버튼을 클릭하면 m3u 파일이 다운로드됩니다.

VLC Player로 재생해서 정상적으로 TV가 나오면 설정이 완료됩니다.