kapsamlı açıklama :
FFMpeg:
Code:
Xine-Lib 1.2 CVS:cd /usr/local/src
apt-get install build-essential
apt-get install mercurial cvs subversion git-core libncurses-dev
apt-get install autoconf libtool automake pkg-config gettext
apt-get install liba52-0.7.4-dev libmp3lame-dev libvorbis-dev zlib1g-dev libpng12-dev libx11-dev libxv-dev libxvmc-dev libasound2-dev libmpcdec-dev
apt-get install yasm
apt-get build-dep ffmpeg
git clone git://git.videolan.org/x264.git
cd x264
./configure --prefix=/usr --enable-pic --enable-shared --enable-pthread --enable-asm --extra-cflags="-mtune=native -march=native -mfpmath=sse -O4 -pipe"
make
make install
ldconfig -v
cd /usr/local/src
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
cd ffmpeg/
./configure --prefix=/usr --enable-shared --enable-gpl --enable-postproc --enable-libmp3lame --enable-libvorbis --enable-pthreads --enable-libx264 --extra-cflags="-mtune=native -march=native -mfpmath=sse -O4 -pipe"
make
make install
ldconfig –v
Code:
Xine-VDPAU 1.2 CVS:cd /usr/local/src
apt-get install libcdio-dev libvcdinfo-dev
tar xivf essential-20071007.tar.bz2
mv essential-20071007 /usr/lib/win32
ln -s /usr/lib/win32 /usr/lib/codecs
cd xine-lib-1.2
./autogen.sh --prefix=/usr --with-external-ffmpeg --disable-dxr3 --enable-w32dll --with-w32-path=/usr/lib/win32
make
make install
ldconfig -v
Xine-VDPAU can only be used when you have a NVidia based GPU with Pure VideoHD capabilities. Als your GPU should have a minimum of 256MB of memory and you need to use v180.44 of de propriarty NVidia driver.
Code:
Xine-UI CVScd /usr/local/src
cd xine-lib-1.2
make uninstall
cd ..
mv xine-lib-1.2 xine-lib-1.2-non-vdpau
bzip2 -d xine-lib-1.2-vdpau-r273.diff.bz2
cd xine-lib-1.2
patch -p1 < ../xine-lib-1.2-vdpau-r273.diff ./autogen.sh --prefix=/usr --with-external-ffmpeg --disable-dxr3 --enable-w32dll --with-w32-path=/usr/lib/win32 make make install ldconfig -v
Code:
To test Xine and the other items. You can run the command xine from a Terminal Session (or use ALT-F2 and type xine as the command). If all goes well, the Xine-UI session should now come up. Because you started it for the first time, you can setup some items. For the time being, just press OK. Next you might want to play some media-files to check if the playback function works allright.cd /usr/local/src
apt-get install libxt-dev
# WARNING! We're going to install LIRCD and with this you can configure your remote if you want it used through LIRCD
apt-get install lirc lirc-modules-source lirc-x liblircclient-dev
tar xivf xine-ui-cvs-20090617220000.tar.bz2
cd xine-ui
./autogen.sh --prefix=/usr --enable-vdr-keys
make
make install
2. VDR and plugins
Now that Xine and FFmpeg have been installed. We can start with VDR 1.7.0 and the plugins.
VDR 1.7.8
Code:
Before starting to compile, you need to create Make.config file in the /usr/local/src/vdr folder using your favorite editor like vi, nano or mc. Be sure to use the following content:cd /usr/local/src
apt-get install libfreetype6-dev libfontconfig1-dev libjpeg62-dev libcap-dev libncurses5-dev libncursesw5-dev
git clone git://projects.vdr-developer.org/vdr.git
tar xivf vdr-1.7.8-extensions.tar.bz2
cd vdr/
patch -p1 < ../vdr-1.7.8_extensions.diff cp Make.config.template Make.config
Code:
Now we can start with the rest:#
# User defined Makefile options for the Video Disk Recorder
#
# Copy this file to 'Make.config' and change the parameters as necessary.
#
# See the main source file 'vdr.c' for copyright information and
# how to reach the author.
#
# $Id: Make.config.template 2.1 2009/01/18 10:46:13 kls Exp $
### The C compiler and options:
CC = gcc
CFLAGS = -g -O2 -Wall
CXX = g++
CXXFLAGS = -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses
ifdef PLUGIN
CFLAGS += -fPIC
CXXFLAGS += -fPIC
DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
endif
### The directory environment:
DVBDIR = /usr/local/src/s2-liplianin/linux
MANDIR = /usr/man
BINDIR = /usr/bin
LOCDIR = /usr/share/locale
PLUGINDIR= ./PLUGINS
PLUGINLIBDIR= /usr/lib/vdr/plugins
VIDEODIR = /media/video
CONFDIR = /etc/vdr
### The remote control:
LIRC_DEVICE = /dev/null
RCU_DEVICE = /dev/ttyS1
## Define if you want vdr to not run as root
VDR_USER = root
### VDR-Extensions:
# Comment the patches you don't need
# DVDCHAPJUMP needs DVDARCHIVE enabled
# DVDARCHIVE needs LIEMIEXT enabled
# SORTRECORDS needs LIEMIEXT enabled
# you can only enable MENUORG or SETUP
#ANALOGTV = 1
#ATSC = 1
#CHANNELSCAN = 1
CMDRECCMDI18N = 1
CMDSUBMENU = 1
#CUTTERLIMIT = 1
#CUTTERQUEUE = 1
CUTTIME = 1
DDEPGENTRY = 1
#DELTIMESHIFTREC = 1
DOLBYINREC = 1
#DVBSETUP = 1
#DVDARCHIVE = 1
#DVDCHAPJUMP = 1
#DVLFRIENDLYFNAMES = 1
#DVLRECSCRIPTADDON = 1
#DVLVIDPREFER = 1
#EM84XX = 1
#GRAPHTFT = 1
#HARDLINKCUTTER = 1
#JUMPPLAY = 1
LIEMIEXT = 1
#LIRCSETTINGS = 1
#LNBSHARE = 1
#MAINMENUHOOKS = 1
#MENUORG = 1
#NOEPG = 1
#OSDMAXITEMS = 1
#PARENTALRATING = 1
#PINPLUGIN = 1
PLUGINAPI = 1
PLUGINMISSING = 1
#PLUGINPARAM = 1
ROTOR = 1
SETTIME = 1
#SETUP = 1
#SOFTOSD = 1
#SOURCECAPS = 1
#SORTRECORDS = 1
STREAMDEVEXT = 1
#TIMERCMD = 1
#TIMERINFO = 1
#TTXTSUBS = 1
#VALIDINPUT = 1
#VOLCTRL = 1
WAREAGLEICON = 1
YAEPG = 1
### You don't need to touch the following:
ifdef DVBDIR
INCLUDES += -I$(DVBDIR)/include
endif
ifdef ANALOGTV
DEFINES += -DUSE_ANALOGTV
endif
ifdef ATSC
DEFINES += -DUSE_ATSC
endif
ifdef CHANNELSCAN
DEFINES += -DUSE_CHANNELSCAN
endif
ifdef CMDRECCMDI18N
DEFINES += -DUSE_CMDRECCMDI18N
endif
ifdef CMDSUBMENU
DEFINES += -DUSE_CMDSUBMENU
endif
ifdef CUTTERLIMIT
DEFINES += -DUSE_CUTTERLIMIT
endif
ifdef CUTTERQUEUE
DEFINES += -DUSE_CUTTERQUEUE
endif
ifdef CUTTIME
DEFINES += -DUSE_CUTTIME
endif
ifdef DDEPGENTRY
DEFINES += -DUSE_DDEPGENTRY
endif
ifdef DELTIMESHIFTREC
DEFINES += -DUSE_DELTIMESHIFTREC
endif
ifdef DOLBYINREC
DEFINES += -DUSE_DOLBYINREC
endif
ifdef DVBSETUP
DEFINES += -DUSE_DVBSETUP
endif
ifdef DVDARCHIVE
ifdef LIEMIEXT
DEFINES += -DUSE_DVDARCHIVE
endif
endif
ifdef DVLRECSCRIPTADDON
DEFINES += -DUSE_DVLRECSCRIPTADDON
endif
ifdef DVLVIDPREFER
DEFINES += -DUSE_DVLVIDPREFER
endif
ifdef DVLFRIENDLYFNAMES
DEFINES += -DUSE_DVLFRIENDLYFNAMES
endif
ifdef EM84XX
DEFINES += -DUSE_EM84XX
endif
ifdef GRAPHTFT
DEFINES += -DUSE_GRAPHTFT
endif
ifdef HARDLINKCUTTER
DEFINES += -DUSE_HARDLINKCUTTER
endif
ifdef JUMPPLAY
DEFINES += -DUSE_JUMPPLAY
endif
ifdef LIEMIEXT
DEFINES += -DUSE_LIEMIEXT
endif
ifdef LIRCSETTINGS
DEFINES += -DUSE_LIRCSETTINGS
endif
ifdef LNBSHARE
DEFINES += -DUSE_LNBSHARE
endif
ifdef MAINMENUHOOKS
DEFINES += -DUSE_MAINMENUHOOKS
endif
ifdef MENUORG
DEFINES += -DUSE_MENUORG
else
ifdef SETUP
DEFINES += -DUSE_SETUP
endif
endif
ifdef NOEPG
DEFINES += -DUSE_NOEPG
endif
ifdef OSDMAXITEMS
DEFINES += -DUSE_OSDMAXITEMS
endif
ifdef PARENTALRATING
DEFINES += -DUSE_PARENTALRATING
endif
ifdef PINPLUGIN
DEFINES += -DUSE_PINPLUGIN
endif
ifdef PLUGINMISSING
DEFINES += -DUSE_PLUGINMISSING
endif
ifdef PLUGINPARAM
DEFINES += -DUSE_PLUGINPARAM
endif
ifdef ROTOR
DEFINES += -DUSE_ROTOR
endif
ifdef SETTIME
DEFINES += -DUSE_SETTIME
endif
ifdef SOFTOSD
DEFINES += -DUSE_SOFTOSD
endif
ifdef SOURCECAPS
DEFINES += -DUSE_SOURCECAPS
endif
ifdef SORTRECORDS
ifdef LIEMIEXT
DEFINES += -DUSE_SORTRECORDS
endif
endif
ifdef STREAMDEVEXT
DEFINES += -DUSE_STREAMDEVEXT
endif
ifdef TIMERCMD
DEFINES += -DUSE_TIMERCMD
endif
ifdef TIMERINFO
DEFINES += -DUSE_TIMERINFO
endif
ifdef TTXTSUBS
DEFINES += -DUSE_TTXTSUBS
endif
ifdef VALIDINPUT
DEFINES += -DUSE_VALIDINPUT
endif
ifdef VOLCTRL
DEFINES += -DUSE_VOLCTRL
endif
ifdef WAREAGLEICON
DEFINES += -DUSE_WAREAGLEICON
endif
ifdef YAEPG
DEFINES += -DUSE_YAEPG
endif
Code:
vdr-xine 0.9.3 - software output pluginmkdir /media/video
mkdir -p /usr/lib/vdr/plugins
mkdir -p /usr/lib/vdr/scripts
mkdir -p /etc/vdr/plugins
mkdir -P /usr/local/src/vdr/PLUGINS/lib
make
make plugins
make install
cp -a svdrpsend.pl /usr/bin
cp *.conf /etc/vdr/
Code:
sc TRUNK - softcam plugincd /usr/local/src/vdr/PLUGINS/src
tar xivf vdr-xine-0.9.3.tgz
ln -s xine-0.9.3 xine
cd xine/data
mkdir /etc/vdr/plugins/xine
cp * /etc/vdr/plugins/xine
make plugins
make install-plugins
Code:
OSD Teletext - Teletext plugincd /usr/local/src/vdr/PLUGINS/src
apt-get install libssl-dev
apt-get install libbz2-dev
make plugins
make install
mkdir -p /etc/vdr/plugins/sc
Code:
Femon - Signal Information plugincd /usr/local/src/vdr/PLUGINS/src
make plugins
make install
mkdir -p /var/cache/vdr/vtx
Code:
Remote - Remote plugincd /usr/local/src/vdr/PLUGINS/src
make plugins
make install
Code:
EnigmaNG - VDR Skincd /usr/local/src/vdr/PLUGINS/src
tar xzvf vdr-remote-0.4.0.tgz
ln -s remote-0.4.0 remote
cd remote
sed -i Makefile -e 's/VDRVERSION/
make plugins
make install
Code:
Skin Reel - VDR Skincd /usr/local/src/vdr/PLUGINS/src
make plugins
make install
mkdir -p /etc/vdr/plugins/skinenigmang
cd /etc/vdr/plugins
tar xzvf skinenigmang-logos-xpm-hi-20070702.tgz
tar xzvf skinenigmang-channellogos-xpm-hi-20070702.tgz
Code:
3. Configurationcd /usr/local/src/vdr/PLUGINS/src
tar xzvf vdr-skinreel-0.0.1.tgz
ln -s skinreel-0.0.1 skinreel
cd skinreel
sed -i Makefile -e 's/VDRVERSION/APIVERSION/g'
cp -r skinreel /etc/vdr/
make plugins
make install
Since we now have VDR and the plugins installed. We can continue with the configuration of VDR and other items.
3.1. VDR and Plugins
With the command /usr/bin/vdr --help you get an overview of the options of VDR and it's plugins. This information is very important for configuring VDR or the plugins.
To make life easier, we create a script called /var/bin/runvdr which can be edited with for instance mcedit (apt-get install mc), nano or vi. I use the following configuration myself:
Code:
Pay close attention to the -P items. Those are the plugins which we're going to use and with -P we enable them and plugins with options should go between quotes using the following way: 'pluginname options'. Use the --help switch with the vdr binary, to get the overview off the options from VDR as well as the plugins.export LANG=en_EN
export LC_COLLATE=en_EN
PATH=/usr/local/bin:$PATH
VDRPRG="/usr/bin/vdr"
VDRCMD="/usr/bin/vdr -c /etc/vdr -E /var/vdr -l 3 \
-s /var/bin/vdrpoweroff.sh \
-P sc \
-P femon \
-P skinreel \
-P xine \
-u root \
$*"
KILL="/usr/bin/killall -q -TERM"
# Detect whether the DVB driver is already loaded
# and return 0 if it *is* loaded, 1 if not:
DriverLoaded()
{
return 1
}
# Load all DVB driver modules needed for your hardware:
LoadDriver ()
{
return 0
}
# Unload all DVB driver modules loaded in LoadDriver():
UnloadDriver ()
{
return 0
}
# Load driver if it hasn't been loaded already:
if ! DriverLoaded; then
LoadDriver
fi
while (true) do
eval "$VDRCMD"
if test $? -eq 0 -o $? -eq 2; then exit; fi
echo "`date` reloading DVB driver"
$KILL $VDRPRG
sleep 10
UnloadDriver
LoadDriver
echo "`date` restarting VDR"
done
One of the items which could be usefull, is the options with the remote plugin. Since I use the included Hauppauge remote, I use the input portion of the DVB driver. With the remote plugin I can call the input portion of the DVB driver. Since many DVB cards have are included with a remote, you can use the remote plugin to use that remote. To find out what the correct syntax is for the input location, you can do the following:
Code:
root@htpc:/dev/input/by-path# ls -ilroot@htpc:~# cd /dev/input/by-path/
total 0
11787 lrwxrwxrwx 1 root root 9 2008-09-06 16:56 pci-0000:00:04.0-usb-0:2:1.3-event- -> ../event2
12213 lrwxrwxrwx 1 root root 9 2008-09-06 16:56 pci-0000:01:06.0--event-ir -> ../event7
12434 lrwxrwxrwx 1 root root 9 2008-09-06 16:56 pci-1-3--event-ir -> ../event8
<FONT face="Courier New">
Bookmarks