본문 바로가기

IT/NAS

[자작NAS] 9. Tvheadend 채널 m3u로 한 번에 추가

반응형

tvheadend에 채널을 하나씩 추가하는 방법은 상당히 번거로운 작업입니다.

4.1 버전 이상에서는 m3u 파일을 통해서 한꺼번에 등록할 수 있는 기능을 제공합니다.

m3u 파일을 만들어 두면 나중에 새롭게 설치할 때 편리하게 기존의 설정을 사용할 수 있습니다.


1. m3u 파일 생성

채널 리스트가 저장된 m3u 파일의 형식은 다음과 같습니다.

#EXTM3U
#EXTINF:-1 tvg-id="103" tvg-logo="로고url" tvh-chnum="1" tvh-tags="연예/오락",KBS 드라마
udp://x.x.x.x:xxxxx
#EXTINF:-1 tvg-id="170" tvh-chnum="2",SBS Plus
udp://x.x.x.x:xxxxx

S사의 경우 udp를 사용하며 타사는 rtp 프로토콜을 사용합니다.

tvg-id는 향후 EPG(Electronic Program Guide)를 위해서 사용합니다.

EPG의 각 채널 ID와 동일하게 값을 설정하면 EPG 정보가 채널과 자동으로 연결됩니다.

S사 기준으로 tvg-id는 다음 파일을 다운로드 받으면 확인할 수 있습니다.

Channels_SK.xls

가장 좌측의 숫자는 채널 번호이며 그 다음이 EPG 채널 ID입니다.

저의 경우 m3u 파일을 태그를 제거하고 아래와 같이 단순화해서 생성합니다.

#EXTM3U
#EXTINF:-1 tvg-id="103" tvg-logo="로고url" tvh-chnum="1",KBS 드라마
udp://xxx.xxx.xxx.xxx:xxxxx
#EXTINF:-1 tvg-id="170" tvg-logo="로고url" tvh-chnum="2",SBS Plus
udp://yyy.yyy.yyy.yyy:yyyyy

#EXTINF와 하단의 IP 부분을 계속 추가하면 채널 리스트가 됩니다.

tvg-logo의 경우 파일 경로 file:// 형태로도 추가가 가능합니다.

로컬에서 사용하기 위해서는 아래와 같이 아이콘을 컨테이너 경로에 미리 옮겨두면 됩니다.

mkdir -p ~/tvheadend/config/icons
cp /mnt/tvheadend/icons/* ~/tvheadend/config/icons
전체 아이콘들이 /config/icons 경로로 이동되면 됩니다.


2. tvheadend에 채널 추가하기

생성한 m3u 파일을 tvheadend에 추가하는 방법입니다.

먼저 cp 명령어로 m3u 파일을 docker에서 사용할 수 있도록 복사합니다.

예를 들어 파일명이 channels라면 다음과 같은 형태로 입력하면 됩니다.

cp /mnt/tvheadend/channels ~/tvheadend/config/

tvheadend 웹페이지로 이동해서 Configuration > DVB Inputs > Networks 페이지로 이동합니다.

Add 버튼을 눌러서 새로운 네트워크를 추가합니다.

IPTV Automatic Network를 선택합니다.

IPTV 네트워크를 추가하기 위해서 아래와 같이 내용을 채웁니다.

반드시 Accept zero value for TSID를 체크하고 Create를 누릅니다.

누르지 않고 생성하는 경우

URL에는 복사한 m3u 파일의 경로를 file:// 뒤에 입력합니다.

입력을 완료했으면 하단의 Create 버튼을 눌러서 생성합니다.

생성한 이후에 Configuration > DVB Inputs > Muxes로 이동하면 채널이 스캔되는 것을 확인할 수 있습니다.

다음으로 채널 매핑 작업을 진행합니다.

앞의 EnabledAuto-Map to channels에 체크하고 Save 버튼을 누릅니다.

이것으로 m3u 파일을 통해서 IPTV 채널 전체 입력이 완료됩니다.


3. Muxes 목록에서 Channels에 등록되지 않은 채널 등록하기

채널 등록을 마치고 보면 Muxes와 Channels의 수가 다른 경우가 있습니다.

Configuration > DVB Inputs > Muxes와 Configuration > DVB Inputs > Channels 수가 다른 경우입니다.

해당 현상은 채널 추가시 Accept zero value for TSID를 체크하지 않아서 발생한 문제입니다.

우측 하단에서 확인할 수 있는 Mux 수보다 Channel의 수가 적은 것을 확인할 수 있습니다.

이 경우에는 추가적인 작업으로 Channels에서 보이도록 해야 합니다.

Configuration > DVB Inputs > Muxes에 들어가면 #Services가 0인 채널들이 있습니다.

#Services가 0인 채널들이 Channels에 등록이 되지 않은 채널들입니다.

#Services를 누르면 값으로 정렬되기 때문에 등록되지 않은 채널만 쉽게 확인 가능합니다.

0인 채널들의 우측에 보이는 Accept zero value for TSID체크하고 Save를 눌러서 저장합니다.

아직은 채널이 등록되지는 않습니다.

각 채널의 Scan status 부분(IDLE)을 더블 클릭합니다.

옵션이 표시되는데 PEND를 선택합니다.

#Service가 0인 등록되지 않은 모든 채널을 PEND로 변경합니다.

PEND 상태로 변경하고 우측 상단의 Save를 눌러서 저장합니다.

채널들이 처리되고 #Services가 모두 1로 변경되면 정상적으로 모든 채널이 등록됩니다.


※ Channels의 아이콘 경로 변경하기

버그인지 m3u 파일로 한 번에 로컬 아이콘을 등록하면 Channels에서 아이콘 경로에 file://이 누락됩니다.

해당 부분은 파일 경로 변경을 통해서 적용을 하면 됩니다.

전체 경로 앞에 file://을 붙이고 Save 버튼을 눌러서 적용하면 됩니다.

향후에 Kodi 등을 통해서 재생할 때 아이콘이 표시됩니다.

반응형