주 메뉴 열기

wwiki β

Tvheadend

Jhkim (토론 | 기여)님의 2022년 1월 21일 (금) 09:40 판 (Channels)

https://tvheadend.org/

Hauppauge WinTV-dualHD기준이다.

목차

Raspbian

bullseyeN

raspberry pi 3B

설치

장치가 연결되었는지 확인한다.

$ lsusb
Bus 001 Device 004: ID 2040:826d Hauppauge 955D

(stretch에서는 sources.list에 추가해서 4.2 버전을 받았는데, bullseye에서는 기본 탑재되어 있다.)

$ sudo apt install tvheadend

설치 도중 관리자 계정을 설정하는데, 설치 완료 후에 웹 인터페이스에 로그인 할 때 사용한다.

설정

http://localhost:9981

처음 접속하면 시작 마법사가 실행된다.

Gerneral

Base
DVB scan files

프리셋 파일들이 저장된 경로를 변경하려는 경우에만 지정한다. (특별한 경우가 아니라면 변경할 필요는 없다.)

Users

Access Entries

Username을 * 로 변경하면 아이디 없이 외부에서 접속이 가능하다.

DVB Inputs

Networks

ATSC등 텔레비전 신호의 타입을 "Network"로 구분하였다.
케이블TV 경우 ATSC-T Network를 사용한다.

튜터가 여러개인 경우에도 기본값으로는 하나만 잡기 때문에 "Add"를 눌러서 추가할 수 있다. "Network name"은 기본값으로 "ATSC-T Network"처럼 되는데, "tuner1", "tuner2"로 변경하는 것이 구분이 쉬워 보인다.

"Edit"를 클릭해서 Pre-defined muxes 선택하면 "Muxes"탭에 추가된다.

추가된 Mux들은 스캔을 성공하면 "Service"가 추가된다. 결과가 실패로 나오는 것들은 신호가 없거나 암호화 된 채널이다. (제공된 세탑에 복호화 기능이 있다.)

누락된 채널을 추가한 후에는 Scan status의 IDLE를 더블클릭해서 PEND로 변경하면 해당 Mux에 대한 서비스를 스캔한다.

Pre-defined muxes

Mux에는 1개 이상의 서비스로 구성될 수 있다. 서비스는 채널과 1:1로 매칭할 수 있다.

한국의 방송은 아직 프리셋 추가되어있지 않다.

방송사, 지역과 시간에 따라 주파수나 아이피가 달라지기 때문에 인터넷에 다운받은 경우에는 누락된 채널이 있을 수 있다.

시작 마법사를 실행한 후에는 /usr/share/tvheadend/data/dvb-scan/atsc 경로에 저장되는 것으로 보인다. (/usr/share/dvb/atsc 기본파일이 저장된 경로로 나중에 파일을 초기화하는 경우에 사용할 수 있다.)

kr- 의 형태로 시작하는데 국가를 구분한다. 대소문자는 구분하지 않는다. 파일은 읽기권한이 있어야 하고, 서비스를 재시작하여야 한다.

윈도우용 TV프로그램에서 채널을 스캔하여 주파수를 찾을 수 있으나 제조사마다 방법이 다르므로, 범용적으로 사용할 수 있는 팟플레이어에서 채널을 검색 후 환경설정을 내보내기하면 reg파일로 저장할 수 있다. (주파수가 1750000Hz 낮게 나오는 경우가 있는 것으로 보인다. FREQUENCY에 1750000을 더해서 프리셋 파일을 생성한다.)

#tvN
[CHANNEL]
	DELIVERY_SYSTEM = ATSC
	FREQUENCY = 303000000 
	MODULATION = VSB/8
	INVERSION = AUTO
#채널A, MBN
[CHANNEL]
	DELIVERY_SYSTEM = ATSC
	FREQUENCY = 309000000 
	MODULATION = VSB/8
	INVERSION = AUTO
#TV조선, JTBC ==> tuner2
[CHANNEL]
	DELIVERY_SYSTEM = ATSC
	FREQUENCY = 315000000 
	MODULATION = VSB/8
	INVERSION = AUTO


#MBC DTV
[CHANNEL]
	DELIVERY_SYSTEM = ATSC
	FREQUENCY = 567000000 
	MODULATION = VSB/8
	INVERSION = AUTO
#KBS1 대전
[CHANNEL]
	DELIVERY_SYSTEM = ATSC
	FREQUENCY = 573000000 
	MODULATION = VSB/8
	INVERSION = AUTO
#TJB DTV
[CHANNEL]
	DELIVERY_SYSTEM = ATSC
	FREQUENCY = 579000000 
	MODULATION = VSB/8
	INVERSION = AUTO
#KBS2 대전
[CHANNEL]
	DELIVERY_SYSTEM = ATSC
	FREQUENCY = 585000000 
	MODULATION = VSB/8
	INVERSION = AUTO
#EBS1, EBS2
[CHANNEL]
	DELIVERY_SYSTEM = ATSC
	FREQUENCY = 591000000 
	MODULATION = VSB/8
	INVERSION = AUTO
Force Scan

강제 스캔을 누르면 등록된 Mux들을 스캔한다. TV에서 채널검색을 다시 하는 것과 비슷하다.

Muxes

멀티플렉서는 multiple한 신호들을 하나의 라인에 보내는 것인데, Demux(demultiplexer)가 원하는 신호를 뽑아낸다. (IPTV의 경우에는 하나의 Mux가 하나의 서비스로 구성되었을 것으로 추측된다.)

Modulation

조절자. 동영상 데이터로 만들기 위하여 신호를 조절하는 방식.

8VSB

지상파의 디지털 방송에 대한 전송방식이다.

QAM

Quadrature Amplitude Modulation(직교 진폭 조절)

Services

Mux 스캔하면 서비스가 추출된다. 제공사에서 서비스되는 것들이라는 의미인 것으로 보인다. 채널에 매핑할 수 있다.

Service name

정확하게 나오지 않는 경우가 발생하나, 외부에서 재생되면 정상적으로 보인다.

Channel/EPG

EPG는 XMLTV 포맷을 사용한다.

Channels

"Map services"를 눌러 매핑한다.

EPG Grabber
Internal Grabber Settings

Cron문법이다.

서비스 시작할 때 internal grabbers를 실행할 수 있다.

EPG Grabber Modules

/user/bin/tv_* 로 시작하는 파일을 서비스가 시작할 때 불러와 리스트업한다.
다음과 같이 간단하게 작성하고 리스트에서 description이 같은 "Internal:XMLTV:My korean grabber"를 선택하고 Enabled를 체크한다.

채널명과 일치하지 않는 경우에는 자동매칭되지 않으므로 Channels탭에서 직접 지정해 준다.

#!/bin/sh

if [ "x$1" = "x" ]; then
         curl https://plex.kr/xmltv.xml
    exit 0
fi

case "$1" in
    --description)
    echo "My korean grabber"
    ;;
    --version)
    echo "1.0"
    ;;
    --capabilities)
    echo "baseline"
    ;;
esac