VDR

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page VDR and the translation is 85% complete.
Outdated translations are marked like this.
Other languages:
 As of March 12th, 2015, the information in this article is probably outdated. You can help the Gentoo community by verifying and updating this article.

이 안내서에서는 DVB와 VDR을 젠투 리눅스에서 준비하는 방법을 설명합니다.

DVB 일반 정보

DVB란 무엇인가요?

DVBDigital Video Broadcasting의 약어입니다. DVB는 TV, 라디오, MHP, EPG, 텔레텍스트 같은 대화식 서비스의 디지털 데이터를 전송하는 방법입니다. HDTV에 대해 MPEG-2 또는 H-264로 데이터를 압축하여 같은 주파수에서도 다양한 채널로 데이터를 전송할 수 있습니다. 데이터를 좀 더 압축하여 더 많은 채널을 전송할 수 있지만, 화질이나 음질이 깨질 수 있습니다.

DVB는 다양한 방법으로 전송할 수 있습니다. 마지막에 붙은 문자가 전송 방식을 구분하는데 DVB-T는 지상 전송 방식을 의미합니다. 이 말고도 몇가지 방식이 또 있습니다:

  • DVB-S 는 위성 전송 방식입니다
  • DVB-C 는 물리 회선 전송 방식입니다
  • DVB-H 모바일 장치 전송 (지상) 방식입니다
  • DVB-IPI 는 IP 기반 네트워크 전송 방식입니다 예:인터넷
  • DVB-RC(S/C/T) 는 데이터 서비스 전송 채널을 반환합니다. 예: 광대역 인터넷

형식과 필요한 DVB 카드

DVB 스트림을 받으려 제각각의 방식이 있기 전에 내용 출력 방식에 따라 카드를 구분합니다. /dev/video 장치에서 스트림에 직접 접근하는 방식을 제공하는 디코더 구현체 카드가 있습니다. 이런 카드는 완벽한 기능을 갖춘 카드 입니다. 다른 카드는 자체 구현 인코더가 없으며 컴퓨터의 소프트웨어 디코더가 필요하고 이런 카드를 버짓 카드라고 합니다. 이 경우 상당한 수준의 시스템 사양이 필요함을 암시합니다. 여러분의 컴퓨터에 붙은 CPU는 최소한 600MHz에 256MB 용량의 RAM이 있어야 합니다. 카드를 확인하는데는 이 목록이 제격입니다.

시스템 준비

커널 설정하기

먼저 커널에서 DVB와 DVB 장치를 지원하는지 확인해야 합니다. 2.6 커널부터는 필요한 드라이버가 있습니다. 커널 설정을 확인하고, 다음 옵션을 정적 드라이버 또는 모듈로 선택했는지 확인하십시오.

커널 필요한 커널 옵션
Input Device Support --->
* Event Interface
Device Drivers --->
<M> Multimedia Support --->
  [*] Digital TV support
   M  [Enable driver(s)]

추가적으로 하드웨어에 대산 적당한 드라이버를 선정해야 합니다. 카드에 대한 올바른 모듈을 찾는 방법은, 모든 드라이버를 모듈로 지정하는 것입니다. PCI 카드를 보유하고 있고, sys-apps/pciutils 가 없다면 이 꾸러미를 설치하십시오. 이 꾸러미에는 lspci 라는 쓸만한 도구가 있습니다. 내장 드라이버는 있는데 PCI 카드를 가지고 있지 않다면, 이 과정을 건너뛰고 커널 출력 확인으로 계속 진행하셔도 됩니다.

root #emerge --ask sys-apps/pciutils

새 커널로 부팅한 다음 필요한 모듈을 보기 위해 pcimodules를 실행하십시오.

root #pcimodules
ohci-hcd
ehci-hcd
sis900
snd-emu10k1
b2c2-flexcop-pci
nvidia
nvidiafb

이 경우 b2c2-flexcop-pci 모듈을 불러와야 합니다. /etc/conf.d/modules 파일에 이름을 추가하십시오:

파일 /etc/conf.d/modules
modules="b2c2-flexcop-pci"

커널 출력 확인

모든 드라이버를 모듈로 표시하여 특히 어떤 모듈을 추가해야 할지 분명하지 않을 경우에 필요한 모듈을 동적으로 추가할 수 있게 하는 방식을 추천합니다. 커널을 컴파일하고 모듈을 설치한 다음 새 커널로 부팅하십시오. dmesg 유틸리티를 사용하여 커널에서 PCI 카드를 제대로 발견했는지 확인하십시오.

테라텍 시너지 T2를 가지고 있다면 출력 내용은 다음과 같습니다:

root #dmesg | grep DVB
DVB: registering new adaptor (TerraTec/qanu USB2.0 Highspeed DVB-T Receiver).
input: TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control as /class/input/input2

VDR 설치

VDR을 설치하려면 그냥 이머지 하시면 됩니다:

root #emerge --ask media-video/vdr

원격 조종기(리모콘) 설치

적외선 원격 조종기를 통해 VDR을 조정하는 최소한 두가지의 방법이 있습니다. TV 카드에 보드 내장 적외선 수신 모듈이 붙어있다면, media-plugins/vdr-remote를 사용할 수 있습니다. 그렇지 않으면 LIRC를 사용해야 할 지도 모릅니다.

vdr-remote 설치

우선 emerge로 플러그인을 설치하십시오:

root #emerge --ask media-plugins/vdr-remote
root #eselect vdr-plugin enable remote

DVB 카드의 적외선 포트에 대한 remote 플러그인을 사용할때 기본 설정으로 보통 만족합니다. 자동으로 "dvb" 이름을 가진 입력 장치를 사용합니다. 좀 더 전문적으로 활용하려면 /etc/conf.d/vdr.remote 파일을 살펴보십시오.

대안: LIRC 설치

카드를 원격으로 제어할 수 있고 vdr-remote로 관리하지 않으려 한다면 LIRC를 설정해야합니다. LIRC는 누른 키를 해석하고 이름을 반환합니다. LIRC를 지원하는 프로그램은 키 이벤트를 기다리며, 실행 프로그램의 설정 디렉터리에 저장한 설정 파일(예: mplayer~/.mplayer/lircrc 파일을 불러옴)에 설정한대로 동작을 실행합니다. LIRC를 설치하기 전에 lirc USE 플래그를 지정하고 /etc/portage/make.conf에 특별히 LIRC_DEVICES 변수를 추하여 /etc/portage/make.conf 파일에서 적당한 인자값을 찾기 위해 이 목록en을 활용하도록 하십시오.

파일 /etc/portage/make.conf
# (Replace "devinput" with the proper driver)
LIRC_DEVICES="devinput"
USE="lirc"
root #emerge --ask app-misc/lirc

먼저 각각의 키 코드를 이름으로 정의해야 합니다. 대부분 지원하는 원격 조종기는 이미 설정되어 있으므로 원격 조종기 목록을 살펴보십시오. 필요한 파일을 다운로드 하고 /etc/lircd.conf 파일로 저장하십시오. 이제 원격 조종기 접근 위치를 찾아야 합니다. 다음 명령을 실행하여 현재 입력 장치 목록을 가져오십시오(장치가 동작중인지 확인하십시오).

root #cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name="TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control"
P: Phys=usb-0000:00:1d.7-1/input0
S: Sysfs=/class/input/input2
H: Handlers=kbd event1
B: EV=100003
B: KEY=108fc210 2043 0 0 0 0 8000 2080 1 9e1680 0 0 ffc

이 경우 테라텍 시너지 T2 장치를 연결했으므로 /dev/input/<event1>을 통해 장치에 접근할 수 있습니다. 출력 내용에 일치하는 장치로 <event1>를 바꾸십시오.

lircd에서 사용하려는 장치를 알아야 합니다. 다음 줄을 /etc/conf.d/lircd 파일에 추가하십시오. <devinput>를 드라이버 이름으로 <event1>을 실제 장치로 바꿔야 함을 기억하십시오.

파일 /etc/conf.d/lircd
LIRCD_OPTS="-H <devinput> -d /dev/input/<event1>"

이제 lircd를 시작하십시오:

root #/etc/init.d/lircd start

이제 lircd 화면 캡처 및 디코딩 키 누름을 확인해볼 수 있습니다. irw 명령을 실행해보십시오. 충분히 진행했다면 Ctrl + C키를 눌러 중단하십시오.

root #irw
0000000000001aa2 00 Exit Technisat_TTS35AI.conf
0000000000001a8d 00 Mute Technisat_TTS35AI.conf
0000000000000a97 00 OK Technisat_TTS35AI.conf
0000000000000a97 01 OK Technisat_TTS35AI.conf
0000000000000a92 00 Menu Technisat_TTS35AI.conf

다음, 기본 런레벨에 추가하여 부팅할 때 자동으로 시작하게 하십시오.

root #rc-update add lircd default

원격 조종기를 쓸 수 있으려면 VDR에 LIRC 지원을 활성화 해야 합니다. /etc/conf.d/vdr 파일에 다음 줄을 추가하십시오:

파일 /etc/conf.d/vdr
IR_CTRL="lirc"

동영상 출력 방식

이제 화면을 표시하고 화면 표시 기능으로 오버레이할 다음 비디오 출력 장치중 하나(오직 하나만!) 결정해야합니다.

하드웨어 디코드: 완전한 기능을 갖춘 DVB 카드

TechnoTrend Premium S2-6400 Twin HD 또는 SDTV 및 HDTV (MPEG2 and MPEG4 AVC/H.264)용 일반 하드웨어 디코딩 장비를 사용중이라면 media-plugins/vdr-dvbhddevice를 설치하십시오:

root #emerge --ask media-plugins/vdr-dvbhddevice

Fujitsu_Siemens, Hauppage WinTV, TechnoTrend Premium S2300 및 이들을 기반으로 설계한 카드, 일반 하드웨어 SDTV 디코딩(MPEG1, MPEG2)에 맞추려면:

root #emerge --ask vdr-dvbsddevice

하드웨어 디코드: DXR3/Hollywood+ cards

VDR 출력에 대해 DXR3 카드를 활용하려면 vdr-dxr3 플러그인이 필요합니다.

root #emerge --ask vdr-dxr3
파일 /etc/conf.d/modules
modules="em8300"

em8300 모듈은 카드의 정확한 리비전에 따라 추가 설정이 필요합니다.

하드웨어 디코드: PVR350 카드

PVR350 카드에는 MPEG 디코더 칩을 자체적으로 보유하고 있으므로 잠재적인 전 기능을 사용할 수 있습니다. 기능을 제대로 사용하려면 vdr-pvr350 플러그인이 필요합니다. ivtv-driver를 아직 설치하지 않았다면 emerge에서 자동으로 설치합니다. ivtv 모듈을 부팅할 때 불러오려면 /etc/conf.d/modules 목록에 추가하십시오:

root #emerge --ask media-plugins/vdr-pvr350
파일 /etc/conf.d/modules
modules="ivtv"

소프트웨어 디코드: vdr-xineliboutput

어떤 사람은 vdr-xineliboutput이 원격으로 동작할 수 있기 때문에 이 프로그램을 선호합니다. 이제 호스트에 vdr-xineliboutput을 설정하는 방법을 따르십시오. 우선 호스트를 설정하십시오:

root #emerge --ask media-plugins/vdr-xineliboutput
root #eselect vdr-plugin enable xineliboutput

이 과정에서 명령행 옵션을 추가하는 것은 xineliboutput을 동작하게 하는 중요한 행위입니다. 더 많은 옵션은 vdr --help 출력 내용을 보십시오.

파일 /etc/conf.d/vdr.xineliboutput
_EXTRAOPTS="--local=none --remote=37890"

다음 단계에서는 /etc/vdr/svdrphosts.conf를 편집합니다. 이 파일에는 호스트 시스템에서 실행중인 동영상 디스크 레코더의 SVDRP 포트로 어떤 호스트 주소를 연결할지에 대한 내용이 있습니다.

파일 /etc/vdr/svdrphosts.conf
# (The proper syntax is: IP-Address[/Netmask])
127.0.0.1             (always accept localhost)
192.168.1.0/24        (any host on the local net)
#204.152.189.113      (a specific host)
#0.0.0.0/0            (any host on any net - USE THIS WITH CARE!)

하나의 VDR을 실행 중인 동일한 컴퓨터에 화면을 표시할 때 vdr-xineliboutput만을 사용한다면 채널 목록 만들기로 계속 진행할 수 있습니다.

그렇지 않으면 클라이언트에서 간단하게 emerge media-plugins/vdr-xineliboutput 를 실행하십시오:

root #emerge --ask media-plugins/vdr-xineliboutput

(VDR을 시작하고난) 다음, VDR에 연결하고, 화면과 OSD를 보려면 vdr-sxfe xvdr://hostname 명령을 사용할 수 있습니다.

참고
기록 전용 서버처럼 사용하려는 목적으로 실제 출력 장치 (vdr-dummydevice) 존재 여부를 시험하는 플러그인도 있지만 일반 VDR 설정보다 좀 더 앞선면이 있습니다.

채널 목록 만들기

VDR을 제대로 쓸모있게 만들려면 적당한 채널 목록을 만들어야 합니다. 동작하는 채널 목록을 가져오는 방법은 한 가지 이상이 있습니다(채널을 다운로드 하는 방법 이전에). 19.2° E에 있는 아스트라 DVB-S 리셉션에 대한 채널 목록이 기본으로 설치되어 있습니다.

linuxtv-dvb-apps의 dvbscan 활용

root #emerge --ask media-tv/linuxtv-dvb-apps

여러분의 거주지역에 대한 올바른 주파수 목록과 수신 형식을 찾으십시오. /usr/share/dvb에 저장되어 있습니다. 독일의 베를린에서 DVB-T 리셉션 방식을 찾으려면 /usr/share/dvb/dvb-t/de-Berlin 파일을 사용해야 합니다:

user $dvbscan -o vdr /usr/share/dvb/dvb-t/de-Berlin > /etc/vdr/channels.conf

vdr-reelchannelscan 활용하기

먼저 기존의 채널 목록의 내용을 삭제하십시오:

root #rm /etc/vdr/channels.conf
root #emerge --ask vdr-reelchannelscan
root #eselect vdr-plugin enable reelchannelscan

vdr-analogtv를 활용하여 시스템 채널 찾기

이 시점에서 채널을 설정하는게 좋겠습니다. media-plugins/vdr-analogtv 1.0.00-r1 이상의 버전을 설치했다면, VDR 프로젝트에서는 /usr/share/doc/vdr-analogtv-$version/examples/에 있는 몇가지 예제를 제공합니다.

VDR 시작

시스템의 모든 기본 소프트웨어 부분에 대해 준비가 끝나면 OSD와 VDR을 설정해야 합니다.

영상 출력에 하드웨어 디코더를 사용한다면 연결한 TV를 켜십시오. 소프트웨어 출력을 사용한다면 해당 클라이언트는 VDR를 시작한 다음에 가동해야합니다.

먼저, 키 정의 저장하십시오. VDR의 내부 명령에 원격 조종기의 키를 연결하라는 의미입니다.

참고
키보드 설정을 편집하거나, (아마도) 키 기능 기억 단계로 돌아가려 키보드 설정을 삭제하려는 목적이 있다면 특별한 파일을 수정할 수 있습니다. VDR은 /etc/vdr/remote.conf 파일에 키 설정을 저장합니다.

VDR을 시작할 차례입니다:

root #/etc/init.d/vdr start
* Preparing start of vdr:
*   config files ...                                        [ ok ]
*   Waiting for prerequisites (devices nodes etc.) ...      [ ok ]
* Starting vdr ...                                          [ ok ]
* First start of vdr: No check for running vdr possible
* until control device (remote/keyboard) keys are learnt!
참고
소프트웨어 디코더 사용자는 TV 화면과 OSD를 표시하려 창을 따로 여는 클라이언트 프로그램을 시작해야합니다.

vdr-softdevice 사용자라면:

root #ShmClient

vdr-xineliboutput 사용자에 대해:

root #vdr-sxfe xvdr://hostname

VDR에서 쓸모있는 대부분의 키는 다음과 같습니다:

  • 커서 키(좌/우/상/하)
  • 메뉴/나가기/확인
  • 색상(적/녹/황/청)
  • 숫자 키(0-9)
중요
원격 조종기에 키가 많이 없다면, 해당 키 할당을 확인하십시오(어떤 리모콘은 재생/일시정지 등을 지니고 있습니다. 색상이 동일하다면, 해당 색상의 키를 사용하십시오.)

이제 기본 설치가 끝났고 VDR을 설정할 차례입니다. 출력 화면을 전환하고 화면상 지시를 따르십시오. VDR에서는 사용자에게 원격 조종기 상의 몇가지 키를 눌러 올바른 키 코드를 기억할 수 있도록 요청합니다. 원격 조종기가 나타나지 않는다면 키보드를 대신 사용할 수 있습니다.

이제 VDR 초기화 스크립트를 기본 런레벨에 추가하고 컴퓨터를 부팅할 때마다 자동으로 시작하도록 하십시오:

root #rc-update add vdr default

VDR and Kodi

Enable the vdr-devel overlay

root #eselect repository enable vdr-devel
root #emerge --sync
root #emerge --ask media-plugins/vdr-vnsiserver media-plugins/kodi-pvr-vdr-vnsi

There's a systemd service part of the vdr package, obviously for those using systemd.

root #systemctl start vdr.service

문제 해결

도움이 필요하다면 #gentoo-vdr (webchat) 의 누군가에게 자유롭게 질문하거나 젠투 포럼en 에서 관련 질문을 찾아보실 수 있습니다.


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Norman Golisz, Dimitry Bradt, Matthias Schwarzott, Joshua Saddler
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.