| View previous topic :: View next topic |
| Author |
Message |
Lazlo n00b

Joined: 25 Jan 2003 Posts: 66 Location: Gl. Lejre, Denmark
|
Posted: Fri Feb 11, 2005 8:56 pm Post subject: MythTV backend on a fileserver |
|
|
I have a powerful (and very noisy) server in the basement and a couple of normal boxes around the house. I don't own a tv (or a vcr) so the main goal is to provide vcr and tv to the two client boxes.
Since the fileserver is a - fileserver (duh) in the basement I don't want or need it to run mythTV frontend. All I want is for it to sit there and capture tv, record it and xvid pack it and send it out to the clients.
However when I try to emerge mythtv it insists to install X and qt.
Has anyone had luck with setting up a mythtv backend on a fileserver with minimal dependencies?
Thanks
/Lasse
My USE flags (from emerge info)
| Code: |
USE="x86 apm arts avi bash-completion berkdb bitmap-fonts crypt cups encode f77 firebird font-server foomaticdb fortran gdbm gif gpm gtk2 imagemagick imap imlib ipv6 java jpeg libg++ libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python quicktime readline samba sdl slang spell ssl svg svga tcpd tiff truetype truetype-fonts type1-fonts unicode usb xml2 xmms xv zlib"
|
The command:
| Code: |
USE="-perl mysql -xv -opengl -arts mmx" emerge -pv mythtv
|
Gives me:
| Code: |
enoch root # USE="-perl mysql -xv -opengl -arts mmx" emerge -pv mythtv
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] dev-perl/Lingua-EN-Numbers-Ordinate-0.01 4 kB
[ebuild N ] dev-perl/Class-MethodMaker-1.11 41 kB
[ebuild N ] dev-perl/TermReadKey-2.21 34 kB
[ebuild N ] dev-perl/module-info-0.20 39 kB
[ebuild N ] dev-perl/ExtUtils-CBuilder-0.05 10 kB
[ebuild N ] dev-perl/extutils-parsexs-2.08 21 kB
[ebuild N ] dev-perl/yaml-0.35 54 kB
[ebuild N ] dev-perl/Compress-Zlib-1.33 111 kB
[ebuild N ] dev-perl/IO-Zlib-1.01 4 kB
[ebuild N ] dev-perl/Test-Harness-2.30 50 kB
[ebuild N ] dev-perl/IO-String-1.03 6 kB
[ebuild N ] dev-perl/Archive-Tar-1.23-r1 31 kB
[ebuild N ] dev-perl/module-build-0.25 102 kB
[ebuild N ] dev-perl/Term-ProgressBar-2.06-r1 27 kB
[ebuild N ] dev-perl/Unicode-String-2.07 59 kB
[ebuild N ] dev-perl/CGI-3.05 201 kB
[ebuild N ] dev-perl/HTML-TokeParser-Simple-2.2 9 kB
[ebuild N ] dev-perl/HTML-LinkExtractor-0.11 15 kB
[ebuild N ] dev-perl/Memoize-1.01 46 kB
[ebuild N ] x11-misc/ttmkfdir-3.0.9-r2 -debug 19 kB
[ebuild N ] x11-base/xorg-x11-6.8.0-r4 -3dfx -3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc +font-server -hardened -insecure-drivers +ipv6 -minimal +mmx +nls -opengl +pam -sdk -sse -static +truetype-fonts +type1-fonts (-uclibc) -xprint -xv 64,232 kB
[ebuild N ] dev-perl/perl-tk-804.027 5,870 kB
[ebuild N ] dev-perl/Tk-TableMatrix-1.1-r1 309 kB
[ebuild N ] app-arch/rpm2targz-9.0-r2 2 kB
[ebuild N ] sys-apps/utempter-0.5.5.5-r1 -debug 20 kB
[ebuild N ] x11-terms/xterm-197 -Xaw3d -debug +truetype +unicode 674 kB
[ebuild N ] dev-perl/HTML-Tree-3.17 115 kB
[ebuild N ] dev-perl/DateManip-5.42a-r1 133 kB
[ebuild N ] dev-perl/HTML-TableExtract-1.08 23 kB
[ebuild N ] dev-perl/Scalar-List-Utils-1.14 15 kB
[ebuild N ] dev-perl/XML-XPath-1.13 38 kB
[ebuild N ] dev-perl/libxml-perl-0.07-r2 51 kB
[ebuild N ] dev-perl/XML-Handler-YAWriter-0.23-r1 25 kB
[ebuild N ] dev-perl/Text-Iconv-1.4 8 kB
[ebuild N ] dev-perl/XML-SAX-Base-1.04 15 kB
[ebuild N ] dev-perl/XML-NamespaceSupport-1.08 7 kB
[ebuild N ] dev-perl/XML-SAX-0.12 58 kB
[ebuild N ] dev-perl/XML-Filter-BufferText-1.01 2 kB
[ebuild N ] dev-perl/XML-SAX-Writer-0.44-r1 11 kB
[ebuild N ] dev-perl/Tie-IxHash-1.21-r1 6 kB
[ebuild N ] dev-perl/XML-Twig-3.15-r1 +nls 239 kB
[ebuild N ] app-i18n/kakasi-2.3.4 1,073 kB
[ebuild N ] dev-perl/Text-Kakasi-2.04 22 kB
[ebuild N ] dev-perl/Net-SSLeay-1.23 73 kB
[ebuild N ] dev-perl/IO-Socket-SSL-0.96 31 kB
[ebuild N ] dev-perl/WWW-Mechanize-1.0301 84 kB
[ebuild N ] dev-perl/XML-LibXML-Common-0.13 12 kB
[ebuild N ] dev-perl/XML-LibXML-1.58 167 kB
[ebuild N ] dev-perl/HTML-FromText-1.005 12 kB
[ebuild N ] dev-perl/Log-TraceMessages-1.3 5 kB
[ebuild N ] dev-perl/Lingua-Preferred-0.2.4 5 kB
[ebuild N ] dev-perl/IO-stringy-2.109 64 kB
[ebuild N ] dev-perl/MailTools-1.60 42 kB
[ebuild U ] dev-perl/MIME-Base64-3.05 [3.00] 15 kB
[ebuild N ] dev-perl/MIME-tools-5.415 341 kB
[ebuild N ] dev-perl/MIME-Lite-3.01 48 kB
[ebuild N ] dev-perl/SOAP-Lite-0.60a-r1 -jabber +ssl 166 kB
[ebuild N ] dev-perl/XML-Writer-0.510 17 kB
[ebuild N ] dev-perl/Storable-2.07-r1 94 kB
[ebuild N ] media-tv/xmltv-0.5.34 388 kB
[ebuild N ] dev-db/mysql-4.0.22-r2 +berkdb -debug -innodb -perl +readline (-selinux) +ssl -static +tcpd 0 kB
[ebuild N ] dev-lang/nasm-0.98.38-r1 -build -doc 535 kB
[ebuild N ] media-sound/lame-3.96.1 -debug -gtk 1,226 kB
[ebuild N ] media-tv/mythtv-0.16 -X -alsa -arts -cle266 -debug -directfb -dvb -lcd -lirc +mmx +nls -nvidia -opengl +oss -xv 13,181 kB
Total size of downloads: 90,366 kB
|
Seems a bit heavy for a backend, right? |
|
| Back to top |
|
 |
chimera77 n00b

Joined: 21 Feb 2005 Posts: 2
|
Posted: Mon Feb 21, 2005 6:24 am Post subject: |
|
|
*BUMP*
I'm greatly interested in this also. I don't need/want X Windows running on a headless server in the closet... |
|
| Back to top |
|
 |
chunderbunny Veteran


Joined: 31 May 2004 Posts: 1281 Location: 51°24'27" N, 0°57'15" W
|
Posted: Mon Feb 21, 2005 3:58 pm Post subject: |
|
|
| I know Mythtv directy depends on X for some reason, my guess would be that it needs certain X libraries in order to do video encoding, and to transmit the picture from the backend server to the client. Perhaps it also uses X to generate an interface to the backend databse, which is why it still pulls in Qt as a dependancy. Newer mythtv ebuilds don't even have an "X" USE flag. |
|
| Back to top |
|
 |
chimera77 n00b

Joined: 21 Feb 2005 Posts: 2
|
Posted: Mon Feb 21, 2005 4:03 pm Post subject: X dependancy |
|
|
| chunderbunny wrote: | | Newer mythtv ebuilds don't even have an "X" USE flag. |
That explains why no matter what I do, it insists on installing X Windows. Thanks for pointing that out. |
|
| Back to top |
|
 |
kaltag Tux's lil' helper

Joined: 28 Apr 2004 Posts: 116 Location: Boise, ID
|
Posted: Mon Feb 21, 2005 5:40 pm Post subject: |
|
|
MythTV uses the QT-mysql interface to talk to the databse and since QT depends on X...Well you ge tthe picture . You don't have to actually RUN X on the backend though, it just needs the qt-mysql interface stuff. _________________ Yeah, I know about the recovery console. Usually, it doesn't do anything more than I can do with a match, a weedwhacker, and a sledgehammer. Actually, it does a whole lot less. - Caffinehog |
|
| Back to top |
|
 |
Lazlo n00b

Joined: 25 Jan 2003 Posts: 66 Location: Gl. Lejre, Denmark
|
Posted: Wed Feb 23, 2005 5:20 pm Post subject: |
|
|
QT-mysql?
So the backend uses a GUI library to access the database??
Isn't that like ODBC would be dependent on MFC in the Microsoft world?
Can anybody tell my why mythtv uses that interface the mysql instead of a simple driver?
Does it actually use any gui parts of qt -- would it be possible to build a qt-mysql without the rest of QT (and X)
-- indeed why does mythtv need mysql. Wouldn't an embedded database like Berkley DB be a better fit?
OK. I accept the mysql dependency. But surely it should be possible to get rid of qt! |
|
| Back to top |
|
 |
kim_asplund Tux's lil' helper

Joined: 23 Mar 2004 Posts: 92 Location: Finland
|
Posted: Fri Feb 25, 2005 7:47 pm Post subject: |
|
|
Don't make much sence does it
But then on the other hand we are all living in the world of Linux... so ... you are free to make suggestions to the developer or start making changes your self, and send in the code and hope they like it
Regards Kim. |
|
| Back to top |
|
 |
kaltag Tux's lil' helper

Joined: 28 Apr 2004 Posts: 116 Location: Boise, ID
|
Posted: Sat Feb 26, 2005 12:21 am Post subject: |
|
|
| Lazlo wrote: | QT-mysql?
So the backend uses a GUI library to access the database??
Isn't that like ODBC would be dependent on MFC in the Microsoft world?
Can anybody tell my why mythtv uses that interface the mysql instead of a simple driver?
Does it actually use any gui parts of qt -- would it be possible to build a qt-mysql without the rest of QT (and X)
-- indeed why does mythtv need mysql. Wouldn't an embedded database like Berkley DB be a better fit?
OK. I accept the mysql dependency. But surely it should be possible to get rid of qt! |
Correct. Myth itself is written in QT so it's just plain easier to use QTs libraries instead of using something else. You're free to write up a built in database if you like . As far as I know you need to build all of QT to get the mysql libraries although I could be wrong. You could try to emerge qt with --nodeps but I wouldn't count on it working too well. _________________ Yeah, I know about the recovery console. Usually, it doesn't do anything more than I can do with a match, a weedwhacker, and a sledgehammer. Actually, it does a whole lot less. - Caffinehog |
|
| Back to top |
|
 |
lbrtuk l33t


Joined: 08 May 2003 Posts: 910
|
Posted: Sat Feb 26, 2005 2:03 am Post subject: |
|
|
| With its backend/frontend architecture mythtv needs multiple simultaneous queries to the database, and using mysql means they can let mysql worry about the complexities involved there. |
|
| Back to top |
|
 |
Lazlo n00b

Joined: 25 Jan 2003 Posts: 66 Location: Gl. Lejre, Denmark
|
Posted: Sat Feb 26, 2005 11:08 pm Post subject: |
|
|
As long as there is few clients and they just want to read data 90% of the time the complexities of multiple clients to a data source is pretty much non existing. You just serialize access with an old reader/writer-lock scheme known in most programming languages.
But as I said. I accept the mysql dependency as a valid dependency.
I just need somebody to explain to me which part of qt is so great that justifies depending on all of qt (and with that X)
[time passes]
Ok, I downloaded the mythtv code and browsed a bit around.
The mainserver.cpp class that I assume is a central part in the backend has the following #includes.
| Code: |
#include <qapplication.h>
#include <qsqldatabase.h>
#include <qdatetime.h>
#include <qfile.h>
#include <qdir.h>
#include <qurl.h>
#include <qthread.h>
#include <qwaitcondition.h>
#include <qregexp.h>
|
So it is indeed heavily dependent on qt.
- The good news is that is does not appear to be dependent on gui parts of qt.
- The bad news is that I don't know how one would go about building a "faceless" version of qt.
/Lasse
Disclaimer: I am a professional java programmer and know only the bare basics of c++. |
|
| Back to top |
|
 |
Lazlo n00b

Joined: 25 Jan 2003 Posts: 66 Location: Gl. Lejre, Denmark
|
Posted: Sat Feb 26, 2005 11:25 pm Post subject: |
|
|
I think I am going to try and see what:
| Code: |
USE="-firebird -opengl -ipv6 mysql -perl -zlib -gif -berkdb" emerge mysql
USE="-firebird -opengl -ipv6 mysql -perl -zlib -gif -berkdb" emerge --nodeps qt
|
will do for me ...
Right now I get the following without the --deps
| Code: |
enoch root # USE="-firebird -opengl -ipv6 mysql -perl -zlib -gif -berkdb" emerge -pv qt
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild N ] x11-misc/ttmkfdir-3.0.9-r2 -debug 19 kB
[ebuild N ] x11-base/xorg-x11-6.8.0-r4 -3dfx -3dnow +bitmap-fonts -cjk -debug -dlloader -dmx -doc +font-server -hardened -insecure-drivers -ipv6 -minimal -mmx +nls -opengl +pam -sdk -sse -static +truetype-fonts +type1-fonts (-uclibc) -xprint +xv 64,232 kB
[ebuild N ] app-arch/rpm2targz-9.0-r2 2 kB
[ebuild N ] sys-apps/utempter-0.5.5.5-r1 -debug 20 kB
[ebuild N ] x11-terms/xterm-197 -Xaw3d -debug +truetype +unicode 674 kB
[ebuild N ] media-libs/lcms-1.13 +jpeg +python +tiff -zlib 572 kB
[ebuild N ] media-libs/libmng-1.0.4 555 kB
[ebuild N ] dev-db/mysql-4.0.22-r2 -berkdb -debug -innodb -perl +readline (-selinux) +ssl -static +tcpd 0 kB
[ebuild N ] x11-libs/qt-3.3.3 +cups -debug -doc -firebird -gif -icc -immqt -immqt-bc -ipv6 +mysql -nas -odbc -opengl -postgres -sqlite -xinerama -zlib 14,086 kB
Total size of downloads: 80,164 kB
|
Can you see if I need some of the packages that is listed as dependencies? |
|
| Back to top |
|
 |
Lazlo n00b

Joined: 25 Jan 2003 Posts: 66 Location: Gl. Lejre, Denmark
|
Posted: Sat Feb 26, 2005 11:58 pm Post subject: |
|
|
Damn ...
| Code: |
XRender auto-detection... (-L/usr/lib/mysql -I/usr/include/mysql)
Could not find XRender lib anywhere in /usr/lib/mysql /usr/X11R6/lib /usr/shlib /usr/lib /lib
XRender disabled.
XRender support cannot be enabled due to functionality tests!
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.
!!! ERROR: x11-libs/qt-3.3.3 failed.
!!! Function src_compile, Line 121, Exitcode 101
|
It insists that it wants X.... |
|
| Back to top |
|
 |
Lazlo n00b

Joined: 25 Jan 2003 Posts: 66 Location: Gl. Lejre, Denmark
|
Posted: Mon Mar 07, 2005 10:36 pm Post subject: |
|
|
Nobody seems to care about giving me a hand .. so I will try to help myself. Maybe this will turn into a little howto a some point.
I researched a bit about qt and learned that there was a qt-embedded package that mythtv can use instead of qt.
All that is needed is to specify the "directfb" use-flag and the e-build will trade qt for qt-embedded. With that goes the Xorg dependency too.
| Code: |
enoch root # USE="directfb -opengl -arts" emerge -pv mythtv
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild U ] net-misc/wget-1.9.1-r3 [1.9-r2] -build -debug +ipv6 +nls -socks5 +ssl -static 1,291 kB
[ebuild N ] media-libs/audiofile-0.2.6-r1 365 kB
[ebuild N ] dev-lang/nasm-0.98.38-r1 -build -doc 535 kB
[ebuild N ] media-libs/libsdl-1.2.7-r3 -X -aalib -alsa -arts -debug -dga +directfb -esd -fbcon -ggi -libcaca -nas -noaudio -nojoystick -novideo -opengl +oss +svga -xinerama +xv 2,413 kB
[ebuild N ] media-libs/giflib-4.1.3 -X +gif 556 kB
[ebuild N ] media-libs/a52dec-0.7.4-r3 -debug -djbfft +oss -static 235 kB
[ebuild N ] media-libs/libmpeg3-1.5.2 -debug 611 kB
[ebuild N ] dev-libs/DirectFB-0.9.21 -debug -fbcon -fusion +gif +jpeg +mmx +mpeg +png +sdl -sse -static +truetype 1,695 kB
[ebuild N ] media-libs/lcms-1.13 +jpeg +python +tiff +zlib 572 kB
[ebuild N ] media-libs/libmng-1.0.4 555 kB
[ebuild N ] x11-libs/qt-embedded-3.3.4 +cups -debug -doc +firebird +gif +ipv6 +mysql -nis -odbc -opengl -postgres -sqlite 19,252 kB
[ebuild N ] media-sound/lame-3.96.1 -debug -gtk 1,226 kB
[ebuild N ] media-tv/mythtv-0.16 -X -alsa -arts -cle266 -debug +directfb -dvb -lcd -lirc +mmx +nls -nvidia -opengl +oss +xv 13,181 kB
Total size of downloads: 42,492 kB
|
I wasn't able to find out what all the other flags do.
"cle266" anyone?
Will I need alsa if all I want is the run the backend?
"dvb"
I looked in the ebuild file and in /usr/portage/profile/use.desc but couldn't find any help there...
I am going to see what will happen if I try this.
Note also that I am running gentoo stable. If I edit the 0.17 ebuild to unmask I get the Xorg dependency again. Strange. |
|
| Back to top |
|
 |
chunderbunny Veteran


Joined: 31 May 2004 Posts: 1281 Location: 51°24'27" N, 0°57'15" W
|
Posted: Mon Mar 07, 2005 11:42 pm Post subject: |
|
|
The cle266 USE flag specifies support for VIA unichrome cle266 chipset graphics cards (specifically it builds a version of Myth which can use the onboard hardware accelerated MPEG2 decoder, which VIA have rather unhelpfully made work in a completely non-standard way.)
I'm pretty sure that a backend only device will not need alsa support as all the audio/video decoding is handled by the Myth client.
"dvb" enables support for "Digital Video Broadcasting", which is the digital television standard used in Europe (as well as other parts of the world.) |
|
| Back to top |
|
 |
Lazlo n00b

Joined: 25 Jan 2003 Posts: 66 Location: Gl. Lejre, Denmark
|
Posted: Tue Mar 08, 2005 8:46 am Post subject: |
|
|
Thanks for that info. Did you look it up somewhere I don't know about or is it just "common" knowledge?
Now I get this build error:
| Code: |
g++ -shared -Wl,-soname,libmythavcodec-0.16.so.0 -o libmythavcodec-0.16.so.0.16.0 common.o utils.o mem.o allcodecs.o mpegvideo.o h263.o jrevdct.o jfdctfst.o mpegaudio.o ac3enc.o mjpeg.o audresample.o dsputil.o motion_est.o imgconvert.o imgresample.o msmpeg4.o mpeg12.o h263dec.o svq1.o rv10.o mpegaudiodec.o pcm.o simple_idct.o ratecontrol.o adpcm.o eval.o jfdctint.o dv.o error_resilience.o wmadec.o fft.o mdct.o mace.o huffyuv.o opts.o cyuv.o golomb.o h264.o raw.o indeo3.o asv1.o vp3.o 4xm.o cabac.o ra144.o ra288.o vcr1.o cljr.o roqvideo.o dpcm.o tscc.o interplayvideo.o xan.o rpza.o cinepak.o msrle.o msvideo1.o vqavideo.o idcinvideo.o adx.o rational.o faandct.o snow.o sonic.o 8bps.o parser.o smc.o flicvideo.o truemotion1.o vmdav.o lcl.o qtrle.o g726.o flac.o vp3dsp.o integer.o h261.o resample2.o postprocess.o a52dec.o bit_allocate.o bitstream.o downmix.o imdct.o parse.o crc.o resample.o fdct_mmx.o cputest.o dsputil_mmx.o mpegvideo_mmx.o idct_mmx.o motion_est_mmx.o simple_idct_mmx.o fft_sse.o vp3dsp_mmx.o vp3dsp_sse2.o -L/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/bin/ld: cannot find -lqt-mt
collect2: ld returned 1 exit status
distcc[27291] ERROR: compile (null) on localhost failed
make: *** [libmythavcodec-0.16.so.0.16.0] Error 1
make: Leaving directory `/var/tmp/portage/mythtv-0.16/work/mythtv-0.16/libs/libavcodec'
|
Something to do with qt...
I wonder what qt-mt is? |
|
| Back to top |
|
 |
chunderbunny Veteran


Joined: 31 May 2004 Posts: 1281 Location: 51°24'27" N, 0°57'15" W
|
Posted: Tue Mar 08, 2005 12:32 pm Post subject: |
|
|
I have an EPIA system that I've been thinking of using as a Myth frontend, it uses the cle266 chipset which is why I knew about that. I was also thinking of getting a digital TV card (since they are cheaper than their analogue counterparts with hardware MPEG encoders) which is why I have been looking into DVB recently. It was just luck I guess.  |
|
| Back to top |
|
 |
cazze Apprentice


Joined: 26 Mar 2003 Posts: 155 Location: Brussels - Belgium
|
Posted: Thu Mar 10, 2005 1:02 pm Post subject: |
|
|
@chunderbunny:
i wouldn't be so sure about the not needed part of the alsa drivers on the backend. Lazlo got his capturing cards in the backnd server to do the capturing, not in his frontends (is that correct Lazlo?)
kammicazze _________________ Required: Windows 95 or better, so i installed Linux!!! |
|
| Back to top |
|
 |
Lazlo n00b

Joined: 25 Jan 2003 Posts: 66 Location: Gl. Lejre, Denmark
|
Posted: Thu Mar 10, 2005 1:06 pm Post subject: |
|
|
I have my capture card in the backend server.
I also got doubts on alsa is needed or not.
I can see that the 0.16 ebuild has code that will fail the build if I have -alsa -oss -arts so maybe I need it. It could still be the frontend that needs it. It is a mess that the backend and frontend isn't two seperate packages. |
|
| Back to top |
|
 |
Muddy Tux's lil' helper


Joined: 02 Jan 2003 Posts: 144 Location: U.S.
|
Posted: Wed Aug 17, 2005 5:34 pm Post subject: |
|
|
| Lazlo wrote: | I have my capture card in the backend server.
I also got doubts on alsa is needed or not.
I can see that the 0.16 ebuild has code that will fail the build if I have -alsa -oss -arts so maybe I need it. It could still be the frontend that needs it. It is a mess that the backend and frontend isn't two seperate packages. |
had mythbackend only running on my server with no sound card and sound disabled in the kernel, all you need are the modules that come with ivtv (if your running a pvr-250/350 card). |
|
| Back to top |
|
 |
|