XPEnology에 Docker를 이용하여 TVHeadend 설정하기

예전에 시도해보았던 TVHeadend 를 다시 이용해보기로 했다.

환경 설정

TVHeadend 를 이용하기 위해서는, 기본적으로 네트워크가 공인 IP를 받아야 한다.또는 공유기를 사용중이라면, 공유기 내에 IGMP 서비스나 IPTV 서비스 등을 이용하여 리눅스가 할당받은 IP에 신호를 넘겨줘야한다.

Docker를 통하여 설치하기

DSM에 네이티브로 설치를 할 수도 있지만, 개인적으로 Docker 를 이용하는것을 좋아한다.이미지는 다운로드수가 가장 많고 업데이트가 활발한 linuxserver/tvheadend/ 를 사용했다.Docker 컨테이너를 만드는 명령어는 아래와 같이 입력하면 된다.

docker create --name=tvheadend --net=host linuxserver/tvheadend:release-4.2

공식 Document 를 참고하여, 나의 설정에 맞는 컨테이너 생성 코드이다.이름은 tvheadend로, 네트워크는 호스트와 같은 네트워크 사용하는것이다. (이 옵션이 굉장히 중요하다)이렇게 컨테이너를 생성하고 start 시켜준다.

이후 http://[DSM URL]:9981 으로 접속을 하면 메인 페이지가 뜬다.

TVHeadend에 채널 등록하기

우선 방송 IP 리스트가 필요하다.이 부분은 민감한 사항이므로, 구글링을 통해 직접 해결하길 바란다.IP 리스트가 있다면, M3U 생성기를 이용하여 이쁜 M3U 파일을 만들어주자.

M3U 파일이 있다면, 이 파일을 DSM안에 Web Station 을 통해 웹으로 접속 가능하도록 만들어 준다.이후 내용은 이곳을 참고하여 진행하면 된다.

TVHeadend 홈페이지 안에서 DVB Inputs 메뉴에서 Networks 안에 새로운 네트워크를 등록한다.IPTV Automatic Network 로 선택하고, Maximum # input streams 는 5정도,URL은 아까 올렸던 M3U 파일의 웹 경로를 써주면 된다.여기서 M3U 경로는 외부 아이피가 아닌 내부 아이피로 써줘야 한다. 이거 몰라서 1시간 보냄그러면 Muxes 에 채널들이 보인다. 스캔이 바로 시작되는데 끝날때까지 기다린다.

IP 주소가 정확한데, 스캔결과가 확인 으로 뜨지 않는다면 네트워크 문제가 있는 것이다.이경우에는 네트워크 구성을 다시 살펴봐야 한다.

이후 서비스 탭으로 옮겨가서 서비스 매핑 버튼을 누르고, 모든 서비스 매핑을 실행한다.같은이름을 병합시킨다는 내용의 체크박스를 누르고 실행하는것이 좋다.그래야 같은 채널 서비스는 중복되어 저장되지 않는다.

채널 탭으로 이동하면 모든 서비스들이 제대로 나온것을 볼 수 있고, 가장 왼쪽에 재생 버튼이 있다.아무 채널이나 눌러서 재생을 해서 정상적으로 재생된다면 끝난 것이다.

EPG 등록하기

EPG를 등록하기 위해서는 우선 EPG2XMl 이라는것을 설치해야한다.https://github.com/sungpyohong/epg2xml 에서 받으면 되는데,작성자분이 바뀐것인지 링크로 들어가면 https://github.com/wonipapa/epg2xml 이곳으로 가진다.이곳에서 설명하는대로 실행하면 되는데, 주기적으로 epg를 갱신해야 하므로 .py 를 이용하는 방법이 좋다.자세한 진행 사항은 https://x86.co.kr/clubs/1399085를 참조하자.

사용하기

이제는 TVHeadend 서비스는 정상적으로 설치되었다.클라이언트 프로그램들을 이용하여 서비스를 사용하면 된다.

댓글