추천_성공)EPG 기능이 포함된 docker-tvheadend 설치 사용기
♨ 카랜더 일정 :
본문
Synology에서 docker-tvheadend 실행 방법
(/docker-tvheadend)
이 문서는 Synology DSM에서 docker-tvheadend를 실행하는 방법을 설명한다.
작성 시점이 오래 되어 상세 내용은 조금 다를 수 있으니
README의 내용을 우선으로 한다.
1) putty접속 자동으로 docker용 tvheadend 설치 하기
============= 시놀로지 도커 이용 자동으로 tvheadend 설치 하기 ========
1)xmltv.xml 만들기 =======================
시놀로지 작업스케쥴러에 추가하여 xmltv.xml의 epg파일을 만듬니다
/usr/bin/php /volume1/web/epg2xml/epg2xml.php -l 3 -o /volume1/web/epg2xml/xmltv.xml
2)dcoker용 tvheadend 자동 설치 ( 버전및 폴더 수정 : 레지스터 wise 검색 다운로드 태그선택 버전)=========
#wiserain/tvheadend:stable-4.2.6-39 설치 폴더 만들기
mkdir /volume1/web/epg2xml
mkdir /volume1/video/recordings
mkdir /volume1/docker
mkdir /volume1/docker/tvheadend
mkdir /volume1/docker/tvheadend/wiserain-tvheadend_stable-4.2.7-39
mkdir /volume1/docker/tvheadend/wiserain-tvheadend_stable-4.2.7-39/config
#도커 컨테이너만들기
docker run -d \
--name=wiserain-tvheadend_stable-4.2.7-39 \
--network=host \
-v "/volume1/web/epg2xml:/epg2xml" \
-v "/volume1/video/recordings:/recordings" \
-v "/volume1/docker/tvheadend/wiserain-tvheadend_stable-4.2.7-39/config:/config" \
-e PUID=0 -e PGID=0 -e TZ=Asia/Seoul \
-e EPG2XML_VER=web_epg2xml \
wiserain/tvheadend:stable-4.2.7-39
3) putty에서 docker 접속하기 ====
docker ps
# 확인하여 id변경
docker exec -it 614df905fce5 bash
4)도커 접속후 epg그래버모듈 putty에서 복사 후 만들기 ====
cp tv_grab_docker_cat* /usr/bin
chmod 777 /usr/bin/tv_grab_docker_cat*
chmod +x /usr/bin/tv_grab_docker_cat*
5) 도커에서 해당버전 tvheadend 재시작후 tvheadend 접속
===================
상기 사용버전 확인및 다운 하지 안아도 됩
====================================
최종 버전은 내용 수정 상위 참조
====================================
2)DSM의 GUI를 이용하는 방법 사이트 참조 자료
https://github.com/wiserain/docker-tvheadend/blob/epgkr/assets/how-to-run-on-synology.md
사이트는 참조만 하고 DSM 패키지 접속 docker 조회 설치 합니다
/docker-tvheadend의 장점은 epg2xml 설치가 자동으로 epg그래머모듈까지 자동으로 설치 됩니다
상기 사이트 기준으로 저의 시스탬기준 dsm6.1 으로 설치 사례 입니다.
[]docker tvheadennd 설치시 참조
>> 폴더를 3 개 만들고 docker 에서 마운트 합니다.
/volume1/docker/wiserain-tvheadend/recordings 는 /recordings
/volume1/docker/wiserain-tvheadend/epg2xml 는 /epg2xml
/volume1/docker/wiserain-tvheadend/config 는 /config
[]환경변수 추가 PGID PUID
>> PGID 와 PUID 를 0 으로 입력 합니다.DSM 6.1.4-15217 Update 3 사용중입니다
==========
최종 설치 버전
삭제후 재설치
연속 error없이 화면 가끔 끊기는 증상 없네요
docker-tvheadend 정보만 참조 하세요
그리고 아래 설치 참조 드립니다.
https://hub.docker.com/r/wiserain/tvheadend/
이미지 태그 네이밍 규칙
- latest: 최신 이미지 버전. 대부분의 유저에게 권장 됨. 새로운 기능을 체험할 수 있는 개발 버전으로 약간 불안정할 수 있다. 비유를 들자면 Firefox나 LineageOS의 Nightly 빌드, 아니면 iOS의 Public Beta와 유사하다.
- ver-build: 과거 이미지 버전으로 tvheadend 버전을 따른다. 예를 들어
4.1-2533
. - stable: 최신 tvheadend release 버전 참고
- vaapi: latest 빌드에서 vaapi 관련 옵션을 활성화 한 버전 (실험적)
- testing: docker 이미지 테스트 버전 (개발용)
네트워크 모드
docker는 멀티캐스트 패킷 라우팅이 안되기 때문에 tvheadend를 이용해 IPTV를 보기 위해서는 무조건 hosted network
를 사용해야 한다. 일부 낮은 docker engine 버전(예를 들어 Synology DSM 5.2)에서는 지원하지 않으니 참고. hosted network
란 포트 포워딩이나 매핑을 하지 않고 호스트의 네트워크에 그대로 붙인다는 의미이므로 tvheadend가 사용하는 포트를 바꾸고 싶다면 앱 실행 시 옵션을 주어서 변경해야 한다. docker에서는 다음과 같이 환경 변수를 추가해주면 된다. RUN_OPTS=--http_port <port number> --htsp_port <port number>
환경변수
docker-tvheadend의 동작을 제어하는 환경변수와 가능한 옵션을 설명한다. 참고로 환경변수는 컨테이너 생성 시점에 그 값이 고정 되므로 변경을 원한다면 컨테이너를 삭제/재생성 해야한다. 먼저 필수로 지정해야하는 환경변수=기본값
는 다음과 같다.
PUID
,PGUI
: 컨테이너 내부의 앱이 외부의 볼륨에 접근할 수 있도록 하는 권한에 대한 것이다. 여기를 참고하여 설정한다. 적절하게 설정하지 않으면, EPG 관련 스크립트가 동작하지 않거나 녹화가 안될 수 있다.TZ="Asia/Seoul"
: docker-tvheadend에 적용되는 timezone 설정이다. 이게 제대로 안되면 EPG에 시간차가 발생한다.EPG2XML_VER="latest"
: 이 값을 활용해서 epg2xml (latest release)을 다운로드 받는다. 만약 과거 버전에 머무르고 싶다면 값을 지정해 준다. 예를 들어EPG2XML_VER=1.2.1
더이상 epg2xml 폴더의 내용이 변경되지 않기를 원한다면 값을 비워둔다.EPG2XML_VER=
.
추가로 사용 가능한 환경변수는 다음과 같다.
UPDATE_CHANNEL
: epg2xml의 채널 정보를 담고 있는Channel.json
파일을 업데이트 한다. 더이상 업데이트 하지 않기를 원하면false
를 입력한다.RUN_OPTS=--http_port <port number> --htsp_port <port number>
: tvheadend 바이너리에 직접 전달되는 실행옵션. 대표적으로 tvheadend의 동작 포트를 바꿀때 쓸 수 있다.TVH_URL=http://username:password@localhost:9981
: tvhProxy는 tvheadend의 영상 스트림을 Plex의 DVR (녹화)에서 활용할 수 있도록 도와주는 프록시이다. tvheadend와 같이 내장했으므로 localhost가 맞고 그 외 username, password, port는 자신의 환경에 맞게 수정해서 사용한다. 참고로 이것을 활성화 하면 컨테이너 시작시 여러가지 의존성 설치를 위해 시간이 약간 걸린다.
어쩌면 도움이 될지도 모르는 정보
- 컨테이너를 시작할 때마다
/etc/cont-init.d/
와/etc/services.d/
안의 스크립트를 이용해서 초기화를 진행하고 프로그램을 실행한다. 무슨 일이 일어났는지 궁금하거나 생각대로 되지 않으면 로그를 확인하자. - epg2xml 동작 언어는 php이다. 성능은 python이 약간 좋지만 그 차이가 미미한 반면, docker로 deploy할 때 php가 꽤 유용한 기능을 제공한다.
epg2xml.json
은 경로에 파일이 없는 경우에만 다운로드하여 설치하고 경로에 있으면 원래 것을 보존한다. 따라서 같이 업데이트하고 싶으면 파일들을 지우고 컨테이너 삭제/생성/실행하면 된다. 그것도 싫으면 그냥 수동으로 받아서 복사/붙여넣기 하면 된다.- 예전에는 내부적으로 epg2xml를 실행할 때 다음의 arguments
-i {KT/SK/LG} -d
를 썻으나 이제는-i {KT/SK/LG} -o /epg2xml/xmltv.xml
로 실행한 다음cat /epg2xml/xmltv.xml
로 불러온다. 중간에 파일로 저장하는 과정이 추가된 것이다. - EPG를
/epg2xml/xmltv.xml
에 한 번 저장하는 이유는 이 경로를 웹서버로 노출시켜 다른 앱에서도 가져다 쓰기 쉽게 하기 위함이다. php 내장 기능을 이용해/epg2xml
폴더의 내용이http://<tvheadend ip>:9983/
으로 서비스 되므로, tvheadend가 실행되면서 주기적으로 파일로 저장해 놓은 EPG 정보를http://<<tvheadend ip>:9983/xmltv.xml
로 접속하여 쓸 수 있다. 원래는 tvhProxy를 위해 짜낸 기능이지만 여러모로 유용하게 사용할 수 있을 것이다.
========
성공)EPG 기능이 포함된 docker-tvheadend 설치 사용기
참조사이트
http://archive.fo/fiRrC#selection-749.0-749.41
https://github.com/wiserain/docker-tvheadend/blob/epgkr/assets/how-to-run-on-synology.md
1) 패키지 센터로 가서 Docker를 설치한다.
2) wiserain/tvheadend 검색 합니다
3)다운로드 합니다
4) 조금있으면 실행 메뉴를 클릭 가능합니다
5) 고급 설정을 합니다
-다음
- 적용
- 볼륨 폴더 생성 설정
중요) docker/???tvheadnd/ 형식의 docker 밑에 ????tvheadend 가 있어야 합니다
마운트 폴더 생성후 마운트 이름 지정
- 컨테이너 내부의 공간(Mount path)과 실제 우리가 사용하는 공간을 서로 링크해준다. /config는 tvheadend의 모든 설정이 저장되는 곳이며, /recordings의 경우는 녹화하게 될 경우를 위한 template 폴더이다. 이런 식으로 원하는 경로를 마운트하고 docker container에서 가져다 쓰면 된다.
- 방법 > 파일 추가로 폴더 생성후 폴더 추가로 마운트 경로 입력 합니다.
* /config 경로 마운트는 docker/???tvheadnd/config
같이 마운트 폴더를 아래 3가지 설정 마운트 합니다
중요) 아래 폴더의 마운트 경로는 docker/???tvheadnd/ 밑에 있어야 합니다
/config 는 설정값 저장 경로
/recordings 는 녹화저장 경로
/epg2xml 는 epg의 epg2xml.json 설정값 불러 옵니다
- 네트워크는 호스트와 동일 네트워크 사용에 체크. 이전 글에서도 언급했지만, docker는 멀티캐스트 패킷 라우팅이 안된다. 적어도 현재는...
따라서 tvheadend는 무조건 hosted network를 사용해야 한다. 일부 낮은 버전에서는 지원하지 않으니 참고. (예를 들면 DSM 5.2)
*** 중요) tvheadend는 무조건 hosted network >> 이것 하지않으면 때문에 채널list가 보이지 않음
[]환경변수 추가
EPG2XML_VER latest --->
뷰PDF 1,2
office view
관련자료
-
링크
-
첨부
댓글목록
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일
서비스 채널번호가나오지 않음
jjyun님의 댓글
jjyun 쪽지보내기 자기소개 아이디로 검색 전체게시물 아이피 (211.♡.77.53) 작성일
다른 곳 자료를 보면 시스템 변수 지정하는 곳에서 실행명령에 명령어를 추가해야 한다고 되어 있었는데,
그 명령어 필요 없나요?
다른 곳 -- https://github.com/wiserain/docker-tvheadend/
shimss11q님의 댓글의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.173.156) 작성일
예 명령어 필요 없이 ui형식으로 설치 가능합니다
윈격이라 정리는 집에도착후 정리
서비스 채널문제가 있어 해결완료 됬습니다
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.173.156) 작성일
문제점해결 네트워크 host가 필수
공유기 포트포워트 해당아이피 9981~9983
재정리 등록 하겠습니다
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일
저의경우 아래와 같이 사용 설정 했습니다 ( 제작자의 의도와 같은지 ???) ...내용 변경
1) Docker 호스트와 동일한 네트워크 사용 체크....기본 check 해주세요
tvheadend는 무조건 hosted network 추가 설정에 PGID 0 ,PUID 0 추가
2) 다음과 볼룸에서 폴더 만드시고 마운트이름
/volume1/docker/wiserain_tvheadend/config 에
docker/wiserain_tvheadend/config는 /config 볼륨 마운트 설정
/volume1/docker/wiserain_tvheadend/recordings 에
docker/wiserain_tvheadend/recordings는 /recordings 볼륨 마운트 설정
/volume1/docker/wiserain_tvheadend/epg2xml에
docker/wiserain_tvheadend/epg2xml/는 /epg2xml 볼륨 마운트 설정
3) 기본 적으로 epg2xml와 epg그래버모듈 tv_grab_kr_sk를 제공하기 때문에
>> epg2xml.json 파일에서 Mychannels 만 추가 하면 끝
저의 홈피 첨부 파일 사용시는 이하 참조 하기고 이하는 관련 무// 참조만 하세요
web 폴더에 /web/epg2xml 폴더 만드시고 상기 2곳에 epg2xml 관련 파일 복사 합니다 /volume1/web/epg2xml/
/volume1/docker/wiserain_tvheadend/epg2xml
4) iptv.m3u 파일을 /web/epg2xml/skiptv.m3u 복사 합니다 (http://192.168.0.11/epg2xml/skiptv.m3u 동작 확인)
5) tvheadend의 네트워크설정에 http://192.168.0.11/epg2xml/skiptv.m3u 지정 합니다
http://192.168.0.11/epg2xml/skiptv.m3u
6) 기본적으로 제공되기 tv_grab_kr_sk 를 제공되기 때문에 이하 관련무
별도 사용하는 epg그래머모듈 사용시
/web/epg2xml /tv_grab_kr_sk 를 수정후 복사 동일 이름으로 권한변경후 /usr/bin 복사 합니다
(저는 web 형식으로 내부 epg그래버모듈 사용으로
wget -O -http://192.168.0.7/epg2xml/epg2xml-web.php )
>> 저는 이상과 같이 하니 정상적으로 전자가이드 채널이 설정한대로 나오네요>>
(참고) 전체 설치 참조 자료
https://11q.kr/g5s/bbs/board.php?bo_table=s11&wr_id=3396
설정 사용기 등록 하였습니다...즐거운 시간 되세요...
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.188.13) 작성일shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.188.13) 작성일
Code Issues 0 Pull requests 0 Pulse
tv_grab_file
#!/bin/bash
dflag=
vflag=
cflag=
if (( $# < 1 ))
then
cat ~/.xmltv/tv_grab_file.xmltv
exit 0
fi
for arg
do
delim=""
case "$arg" in
#translate --gnu-long-options to -g (short options)
--description) args="${args}-d ";;
--version) args="${args}-v ";;
--capabilities) args="${args}-c ";;
#pass through anything else
*) [[ "${arg:0:1}" == "-" ]] || delim="\""
args="${args}${delim}${arg}${delim} ";;
esac
done
#Reset the positional parameters to the short options
eval set -- $args
while getopts "dvc" option
do
case $option in
d) dflag=1;;
v) vflag=1;;
c) cflag=1;;
\?) printf "unknown option: -%s\n" $OPTARG
printf "Usage: %s: [--description] [--version] [--capabilities] \n" $(basename $0)
exit 2
;;
esac >&2
done
if [ "$dflag" ]
then
printf "tv_grab_file is a simple grabber that just read the ~/.xmltv/tv_grab_file.xmltv file\n"
fi
if [ "$vflag" ]
then
printf "0.1\n"
fi
if [ "$cflag" ]
then
printf "baseline\n"
fi
exit 0
Desktop version
슈우님의 댓글
슈우 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (39.♡.54.150) 작성일
감사합니다.
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.17.250) 작성일
TVHeadend 트랜스코딩 설정하기 Half Time - http://junhyeok.tistory.com/627
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.17.250) 작성일
Tvheadend Muxes 등록시 Services 등록 불가 해결하기 | 나스모에
https://nas.moe/archives/1467
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.17.250) 작성일
21497
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.21.66) 작성일
클리앙-나스당에 계신 이치로님이라는 분이 있죠. 그 분이 도커용 tvh 이미지를 작성해서 배포하셨어요. 그걸로 tvh를 설치하면 훨씬 더 간편합니다. 하드웨어 트랜스코딩까지 가능하게 되죠.
문제는 설치 및 설정 자체는 굉장히 간소한데 그 이야기들을 다시 알아먹기가 처음엔 난해한 부분이 있있습니다.
1) 설치시엔 다음을 참조하세요.
https://github.com/wiserain/docker-tvheadend/blob/epgkr/assets/how-to-run-on-synology.md
주의사항 있습니다.
Advanced settings에서
/docker/tvh-test/epg2xml 폴더를 만들고 Mount path에 /epg2xml를 넣어야 합니다.
(설명서를 꼼꼼히 보셔야 합니다.)
2) 내부 epg grabber 적용시엔 다음을 참조하세요.
https://github.com/wiserain/docker-tvheadend/tree/epgkr
----------------------------------------------------------------
도커 이미지의 설정방법과 제가 기존에 말씀드린 내부 epg grabber 설정과 다른 점은
도커 이미지로 설정할 경우, epg2xml 안에 들어갈 파일을 자동으로 다운 받으며,
내부 epg grabber 설정도 클릭 몇 번만 해주면 끝납니다. 매우 간편하죠.
그러나, channerl.json 파일은 수정하셔야 합니다. (모든 enable을 0에서 1로 찾아바꾸기)
확인해보시고 간편한 쪽으로 선택하시기 바랍니다.
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.21.66) 작성일
docker-tvheadend
다음의 특징을 가지는 docker-tvheadend 이미지
linuxserver/tvheadend 기반: 다양한 docker용 앱 이미지를 제작/배포하고 있는 linuxserver.io의 소스를 기반으로 한다. 차이점은 tvheadend 빌드 옵션 중 --disable-*_static을 제거하여 좀 더 나은 transcoding이 가능하게 한다. 또한 본 이미지는 x86_64 기반이다.
대한민국 IPTV를 위한 EPG grabber 탑재: 이 기능은 wonipapa/epg2xml과 내장 tv_grab_file을 이용하였다.
실행 방법
아래 세가지 방법 중 자신에게 맞는 하나를 선택하여 컨테이너를 생성/실행한다.
docker 명령어 사용시:
docker run -d \
--name=<container name> \
--network=host \
-v <path to recordings>:/recordings \
-v <path to config>:/config \
-v <path to epg2xml>:/epg2xml \
-e PUID=<UID for user> \
-e PGID=<GID for user> \
wiserain/tvheadend:stable
docker-compose 사용시:
version: '2'
services:
<service name>:
container_name: <container name>
image: wiserain/tvheadend:stable
restart: always
network_mode: "host"
volumes:
- <path to config>:/config
- <path to recordings>:/recordings
- <path to epg2xml>:/epg2xml
environment:
- PUID=<UID for user>
- PGID=<GID for user>
Synology DSM 사용시: 별도 문서 참조
작성 시점이 오래 되어 상세 내용은 조금 다를 수 있으니 지금 보고 있는 문서의 내용을 우선으로 한다.
EPG 사용법
컨테이너를 실행 후 http://localhost:9981/를 통해 WEBUI로 접속한 다음, Configuration > Channel / EPG > EPG Grabber Modules로 이동하면 아래 이미지와 같이 3개의 IPTV 서비스를 위한 internal XMLTV grabber가 마련되어 있으니 Enable 시켜서 사용하면 된다.
이미지 태그 기준 4.1-2493 버전부터 epg2xml의 옵션을 전달 받아 실행하는 모듈을 추가하였다. 왼쪽에서 Korea (epg2xml)을 선택하고 오른쪽 옵션 창에서 epg2xml 이후의 arguments를 주면 된다. 예외 처리가 되어 있지 않기 때문에 출력에 관련된 -o -s -d는 extra arguments로 입력하면 안된다.
처음 EPG 설정 시 유의사항
Socket으로 직접 밀어 넣는 external grabber와 달리 내부적으로 cron을 실행한다. 아래 그림과 같이 EPG Grabber 탭에 보면 기본 설정으로 매일 12시 24시 4분에 실행해서 epg를 가져온다. 하지만 버그가 있는지 기본 설정을 무시하고 끊임없이 실행되는 문제가 초반에 있다. 그러므로 설정을 바꿔서 저장해주고 Re-run Internal EPG Grabbers을 눌러서 실행해준다. 어떤 값으로든 변경 후에는 문제없이 정상적으로 동작하는 것을 확인하였다. Cron 설정 방법에 대해서는 링크를 참고바람.
관련 설정들
이미지 태그 네이밍 규칙
latest: 최신 이미지 버전. 대부분의 유저에게 권장 됨. 새로운 기능을 체험할 수 있는 개발 버전으로 약간 불안정할 수 있다. 비유를 들자면 Firefox나 LineageOS의 Nightly 빌드, 아니면 iOS의 Public Beta와 유사하다.
ver-build: 과거 이미지 버전으로 tvheadend 버전을 따른다. 예를 들어 4.1-2533.
stable: 최신 tvheadend release 버전 참고
vaapi: latest 빌드에서 vaapi 관련 옵션을 활성화 한 버전 (실험적)
testing: docker 이미지 테스트 버전 (개발용)
네트워크 모드
docker는 멀티캐스트 패킷 라우팅이 안되기 때문에 tvheadend를 이용해 IPTV를 보기 위해서는 무조건 hosted network를 사용해야 한다. 일부 낮은 docker engine 버전(예를 들어 Synology DSM 5.2)에서는 지원하지 않으니 참고. hosted network란 포트 포워딩이나 매핑을 하지 않고 호스트의 네트워크에 그대로 붙인다는 의미이므로 tvheadend가 사용하는 포트를 바꾸고 싶다면 앱 실행 시 옵션을 주어서 변경해야 한다. docker에서는 다음과 같이 환경 변수를 추가해주면 된다. RUN_OPTS=--http_port <port number> --htsp_port <port number>
환경변수
docker-tvheadend의 동작을 제어하는 환경변수와 가능한 옵션을 설명한다. 참고로 환경변수는 컨테이너 생성 시점에 그 값이 고정 되므로 변경을 원한다면 컨테이너를 삭제/재생성 해야한다. 먼저 필수로 지정해야하는 환경변수=기본값는 다음과 같다.
PUID, PGUI: 컨테이너 내부의 앱이 외부의 볼륨에 접근할 수 있도록 하는 권한에 대한 것이다. 여기를 참고하여 설정한다. 적절하게 설정하지 않으면, EPG 관련 스크립트가 동작하지 않거나 녹화가 안될 수 있다.
TZ="Asia/Seoul": docker-tvheadend에 적용되는 timezone 설정이다. 이게 제대로 안되면 EPG에 시간차가 발생한다.
EPG2XML_VER="latest": 이 값을 활용해서 epg2xml (latest release)을 다운로드 받는다. 만약 과거 버전에 머무르고 싶다면 값을 지정해 준다. 예를 들어 EPG2XML_VER=1.2.1 더이상 epg2xml 폴더의 내용이 변경되지 않기를 원한다면 값을 비워둔다. EPG2XML_VER=.
추가로 사용 가능한 환경변수는 다음과 같다.
UPDATE_CHANNEL: epg2xml의 채널 정보를 담고 있는 Channel.json 파일을 업데이트 한다. 더이상 업데이트 하지 않기를 원하면 false를 입력한다.
RUN_OPTS=--http_port <port number> --htsp_port <port number>: tvheadend 바이너리에 직접 전달되는 실행옵션. 대표적으로 tvheadend의 동작 포트를 바꿀때 쓸 수 있다.
TVH_URL=http://username:password@localhost:9981: tvhProxy는 tvheadend의 영상 스트림을 Plex의 DVR (녹화)에서 활용할 수 있도록 도와주는 프록시이다. tvheadend와 같이 내장했으므로 localhost가 맞고 그 외 username, password, port는 자신의 환경에 맞게 수정해서 사용한다. 참고로 이것을 활성화 하면 컨테이너 시작시 여러가지 의존성 설치를 위해 시간이 약간 걸린다.
어쩌면 도움이 될지도 모르는 정보
컨테이너를 시작할 때마다 /etc/cont-init.d/와 /etc/services.d/ 안의 스크립트를 이용해서 초기화를 진행하고 프로그램을 실행한다. 무슨 일이 일어났는지 궁금하거나 생각대로 되지 않으면 로그를 확인하자.
epg2xml 동작 언어는 php이다. 성능은 python이 약간 좋지만 그 차이가 미미한 반면, docker로 deploy할 때 php가 꽤 유용한 기능을 제공한다.
epg2xml.json은 경로에 파일이 없는 경우에만 다운로드하여 설치하고 경로에 있으면 원래 것을 보존한다. 따라서 같이 업데이트하고 싶으면 파일들을 지우고 컨테이너 삭제/생성/실행하면 된다. 그것도 싫으면 그냥 수동으로 받아서 복사/붙여넣기 하면 된다.
예전에는 내부적으로 epg2xml를 실행할 때 다음의 arguments -i {KT/SK/LG} -d를 썻으나 이제는 -i {KT/SK/LG} -o /epg2xml/xmltv.xml로 실행한 다음 cat /epg2xml/xmltv.xml로 불러온다. 중간에 파일로 저장하는 과정이 추가된 것이다.
EPG를 /epg2xml/xmltv.xml에 한 번 저장하는 이유는 이 경로를 웹서버로 노출시켜 다른 앱에서도 가져다 쓰기 쉽게 하기 위함이다. php 내장 기능을 이용해 /epg2xml 폴더의 내용이 http://<tvheadend ip>:9983/으로 서비스 되므로, tvheadend가 실행되면서 주기적으로 파일로 저장해 놓은 EPG 정보를 http://<<tvheadend ip>:9983/xmltv.xml로 접속하여 쓸 수 있다. 원래는 tvhProxy를 위해 짜낸 기능이지만 여러모로 유용하게 사용할 수 있을 것이다.
자주 묻는 질문
문제가 발생하면 읽어보세요.
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.21.66) 작성일
configuration 들어가셔서 general 에서 유저 인터페이스 레벨을 전문가로 바꾸고 저장한다음에
다시 저 설정에 메뉴 누르시면 채널/epg 메뉴에 epg 그래버 모듈 탭이 생겨요
각 메뉴별 전문가 설정이 아니고, 유저 인터페이스에서 레벨을 전문가로 설정하셔야합니다~~
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (223.♡.22.138) 작성일
모든설정삭제후 재설치
dsm 의 tvheadend 그룹 유저
tvheadend 설치 내용제거
MBC/MBC: AC3 @ #1236 Continuity counter error (total 4)
h264 ,,,,,,동일에러 발생 하며
시청 화면이 소리및영상 끊김 바벅임 발생으로
tvheadend버전
https://11q.kr/g5s/bbs/board.php?bo_table=s11&wr_id=3424
와 같이 설치
에러 없어 졌음
vaapi 설치 하여 안정 됬음
설치버전과 관련있나 확인예정
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일
[]docker tvheadennd 설치시 참조
>> 폴더를 3 개 만들고 docker 에서 마운트 합니다.
/volume1/docker/wiserain-tvheadend/recording 는 /recording
/volume1/docker/wiserain-tvheadend/epg2xml 는 /epg2xml
/volume1/docker/wiserain-tvheadend/config 는 /config
[]환경변수 추가 PGID PUID
>> PGID 와 PUID 를 0 으로 입력 합니다.
non0099님의 댓글
non0099 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (58.♡.87.28) 작성일
감사합니다.
아랄릴아라라님의 댓글
아랄릴아라라 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (122.♡.51.15) 작성일
보고 잘 따라 했으나
채널 생성에서 적용 눌르면 아이디 비밀번호 입력하라해서 입력하면
그냥 확인만 되고 아무 변화가 없는데 혹시 이런 문제 껵으신분들 계신가요?
shimss11q님의 댓글의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일
초기 실행에 확인 하면 되지않나요
sung0님의 댓글
sung0 쪽지보내기 자기소개 아이디로 검색 전체게시물 아이피 (211.♡.68.27) 작성일
가이드 잘 따라해서 덕분에 적용했습니다 감사합니다.
근데 채널 중복이 꽤 있는건 m3u 파일에서 중복 채널을 삭제 해줘야 되나요?
채널 번호도 매칭 시키려면 어떻게 해야 할까요?
shimss11q님의 댓글의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일
저는 ip관련 상이하여 그대로 사용 합니다
채널 번호는 본문 추가 백앤드 채널번호 사용으로 합니다.
shimss11q님의 댓글
shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일
( epg 관련 파일 tv_grab_kr_sk 서버에 저장 v필요시)
web/epg2xml 폴더에 관련파일 카피후 /usr/bin 폴더에 tv_grab_wp 파일을 카피 합니다
cp /volume1/web/epg2xml/tv_grab_wp /usr/bin 복사 합니다
cd /usr/bin
chmod -R 755 tv_grab_wp 권한 변경 청색으로 변하고 설정 완료
koojujup님의 댓글
koojujup 쪽지보내기 자기소개 아이디로 검색 전체게시물 아이피 (1.♡.7.146) 작성일
아주 간편하고 좋네요 감사합니다
이카루가님의 댓글
이카루가 쪽지보내기 자기소개 아이디로 검색 전체게시물 아이피 (59.♡.99.57) 작성일
생각 보다 힘드네요 ㅠㅠ
초보군님의 댓글
초보군 쪽지보내기 자기소개 아이디로 검색 전체게시물 아이피 (110.♡.101.101) 작성일
감사합니다.
suroot님의 댓글
suroot 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (206.♡.9.135) 작성일
감사합니다
미니맵님의 댓글
미니맵 쪽지보내기 자기소개 아이디로 검색 전체게시물 아이피 (203.♡.207.232) 작성일
감사합니다.
세종나스님의 댓글
세종나스 쪽지보내기 자기소개 아이디로 검색 전체게시물 아이피 (60.♡.26.125) 작성일
감사합니다.
진니님의 댓글
진니 쪽지보내기 자기소개 아이디로 검색 전체게시물 아이피 (118.♡.112.198) 작성일
감사합니다
eeee4님의 댓글
eeee4 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (116.♡.130.219) 작성일
감사합니다
써브산님의 댓글
써브산 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (211.♡.81.152) 작성일
감사합니다
♥간단_메모글♥
-
등록일 04.15가입 인사드립니다.댓글 6
-
등록일 04.09가입인사.댓글 4
-
등록일 03.03안녕하세여댓글 1
-
등록일 02.13
최근글
-
등록일 11.23
새댓글
-
등록자 진수수 등록일 11.24
-
등록자 개치토 등록일 11.24
-
등록자 알린이알리바바 등록일 11.24
-
등록자 dusrhwl 등록일 11.23
오늘의 홈 현황
QR코드
☞ QR코드 스캔은 kakao앱 자체 QR코드