[LINUX] HOW-TO get Live TV with VDR working in XBMC for Linux - Printable Version +- Kodi Community Forum (https://forum.kodi.tv) +-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33) +--- Forum: Tips, tricks, and step by step guides (https://forum.kodi.tv/forumdisplay.php?fid=110) +--- Thread: [LINUX] HOW-TO get Live TV with VDR working in XBMC for Linux (/showthread.php?tid=45314) |
[LINUX] HOW-TO get Live TV with VDR working in XBMC for Linux - freezy - 2009-02-11 I recently discovered that alwinus created a magnificent patch for XBMC which allows watching live TV using the Video Disk Recorder project. While I'm sure the XBMC patch will soon find its way into SVN, here's a HOW-TO setup the whole thing from scratch. See my signature for H/W specs. I've tested the following on fresh installation of Ubuntu 8.10. 1. Get V4L working First some things we'll during need the setup: Code: sudo apt-get install mercurial linux-headers-`uname -r` checkinstall libcap-dev gettext Let's create a VDR user and check out and compile the Video4Linux sources. You probably don't need that if your DVB-Card is already working. Code: sudo useradd vdr -g video -d /home/vdr -s /bin/bash -m After rebooting, your DVB card should be visible as /dev/dvb/adapter0. If that's not the case, check dmesg for any messages: Code: dmesg | grep -i dvb 2. FFmpeg and Xinelib VDR was built for so-called full-featured DVB cards, which not only demodulate the TV signal but also decode the transport stream. I'm using a budget card which doesn't do any decoding at all, so we have let the CPU do it. For testing VDR without XBMC already, this is done by a plugin called xineliboutput, which uses the Xine libary and ffmpeg to render the video. So here's how to setup ffmpeg and xine. In order to compile Xine-lib, we need the latest ffmpeg from SVN, the Ubuntu package won't work for some reason. Code: sudo apt-get purge ffmpeg libavutil49 libavcodec51 libavdevice52 libavformat52 x264 libx264-dev libavcodec-dev Code: sudo apt-get purge libxine-dev 3. Install VDR 1.7.4 Now we have a the necessary libraries, let's setup VDR. Code: > sudo apt-get install liba52-0.7.4-dev libasound2-dev libfontconfig1-dev Code: DVBDIR = /home/vdr/src/v4l-dvb/linux Create the folders, and compile VDR: Code: sudo mkdir /media/video For testing VDR "standalone", compile the xineliboutput plugin mentioned above: Code: sudo apt-get install libextractor-dev Code: cd /home/vdr/src/vdr/PLUGINS/src If everything compiled OK, you can finally reinstall VDR with the plugins: Code: sudo apt-get purge vdr 4. Find channels on your network Now you need to create a valid channels.conf file so VDR knows how to tune to your channels. This can be done with (dvb)scan, however you'll need a transponder file first, so we're using w_scan to generate it. Code: cd ~/src Code: sudo apt-get install dvb-utils dvbstream dvbsnoop 5. Start VDR Open /usr/local/bin/runvdr and update it to the following: Code: VDRPRG="/usr/local/bin/vdr" Code: sudo runvdr Code: vdr-sxfe --video=xv 6.Compile XBMC Now to the fun part. Code: svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/pvr-testing/XBMC Code: ./configure --enable-vdpau Select the PVR addon under Settings -> Video -> TV -> Manage Clients. This opens a addon browser where you add the VDR client. You now have an additional "TV" entry in PM3.HD, which lets you watch Live TV and much more. Have fun and thanks again to alwinus for this great patch! - freezy - 2009-02-11 Continueing here due to character limitations per post. A Update from patched r17591 to patched r17664 If you've had already applied an older patch and like to upgrade to the new one, here are the instructions: Code: cd linuxport B Update from patched r17664 to patched r18100 Idem for the latest patch to r18100: Code: cd linuxport C Update from patched r18100 to patched r19232 I suggest you reapply the patches from scratch. Reverse-patching the old ones got me quite some trouble. VDR 1.7.4: Code: su - vdr Code: DVBDIR = /home/vdr/src/v4l-dvb/linux Code: cd ~/src/vdr/PLUGINS/src/ XBMC: Code: cd linuxport D Update from patched r19232 to patched 19616 Streamdev: Code: su - vdr Code: cd linuxport E 2000-06-10: Use the new pvr-testing branch XBMC changes have gone upstream to a new branch. You don't have you patch XBMC each time but use directly the branch: Code: svn checkout http://xbmc.svn.sourceforge.net/svnroot/xbmc/branches/pvr-testing/XBMC Oh, and here are the screenshots (kudos to alwin): - chene - 2009-02-11 wonderful! (please delete my post if it is deemed unacceptable) any idea if this will work for DVB-s (FTA satellite)? - freezy - 2009-02-11 I'm by all means no VDR expert, but I suppose as soon as VDR works with your DVB-S card, you're set with XBMC as well. VDR-Wiki and VDR-Portal are great resources. - philter - 2009-02-11 There is work being done to integrate VDPAU into XBMC: http://www.xbmc.org/forum/showthread.php?t=40362&page=22 Any idea how this interacts with the XBMC+VDR project discussed in this thread? VDR already utilizes vdpau with a xine plugin...I'm a little confused as to the flow of data and what app+hardware decodes what. VDR is the ultimate 'live tv' application, and XBMC is the ultimate media center...getting them to work together with both using a cheap video solution & vdpau is the holy grail imo. - megacrypto - 2009-02-11 Sorry, but what if im not using V4L ... as far as i understand, my Nexus-S card does not require those to work. I guess my question is, what are the steps to compile this without V4L? thanks.. i really want to try this, since for the last 5 days now (and over 10 reformats) i finally got myth to work and i dont like how it looks. - Clumsy - 2009-02-11 @philter: VDR uses xine for vdapu decoding - the xbmc implementation uses streamdev-server and probably just passes on the undecoded stream to XBMC, so any hd decoding has to be done xbmc side I would say. @megacrypto: Your Nexus should work out of the box with a not even so recent kernel but you might need a newer version if you want to use the VDR 1.7 developer releases (although I don't know why you would - it's under heavy development and primarily intended for HDTV). As long as the needed plugins (should actually only be streamdev with the xbmc patch) work with an older vdr version there shouldn't be that much work involved. At anybody who knows: what does the streamdev patch exactly do ? Is it needed for playback of recordings ? If not, is it essential ? I have a pretty old vdr version running on a settop box and don't really want to do any patching on that machine and recompiling - and I don't need direct access to recordings. - megacrypto - 2009-02-11 sorry, but what if my vdr is running on a different machine? what port do i use? 3000? - Clumsy - 2009-02-11 Streamdev-server is designed for that so that probably shouldn't be a problem. Haven't had a look at xbmc's implementation, but I would guess it is not limited to localhost. - megacrypto - 2009-02-12 i got the XBMC part compiled ok.. and now i have the TV section, a few questions i have: 1. in the setup of it under settings / video .. i can select between vdr or myth.. so can i use either of them? 2. in the guide above, the way that sasc is compiled it somehow recompiles the kernel? now i can not find my dbvloopback that was running with myth? (sorry .. this does not belong here.. i compiled vdr from another post) im still testing, but im no expert and i keep trying things from here and there and this is not a very wise idea to achieve any stable results .. but this is a very nice step forward for xbmc - h.udo - 2009-02-12 Hi, to all! This is my first post, but had to register and congratulate the author of the guide and specially the author of the xbmc + vdr integration. That said, let's comment some things. @chene Yes, it works with DVB-S/S2. It all depends on your hardware. @megacrypto You're already using V4L-DVB. The Only difference is that it's already upstream (V4L-DVB API 3) and the newest as of 2.6.28 is V4L-DVB API 5 (S2API) that supports DVB-S2 and others. Think of it - the new API, that is - as an extension to the old API, allowing for more devices to be recognised and working out-of-the-box. The same happened with your Nexus-S. 2.6.29 already was support for most S2 capable devices. @philter vdr works with xine-vdpau + vdr-xine 0.9.0 or xineliboutput 1.0.3 or xineliboutput cvs. I've been following that topic on xbmc vdpau integration and it rocks. After vdr integration, it's the second best news this year about xbmc. Finally a perfect media-center. @hotzenpl0tz streamdev stands for streaming device. It's a vdr plugin for streaming over a network (or locally). It's kind off the same concept as mythTV backend -> frontend. - megacrypto - 2009-02-12 when i go into tv, xbmc crashes: there is where the log stops: Code: 01:22:41 T:3067873072 M:323448832 DEBUG: CGUIMediaWindow::GetDirectory (?) ok.. got vdr running on my xbmc box (which is a different box than that running vdr ... i will put the settings i used as soon as the xbmc box unfreezes on the xbmc machine [ip 192.168.1.4] in TV settings: Code: Enabled True in the vdr machine [ip 192.168.1.5] under Menu/Setup/Plugins/streamdev-server: Code: --common settings-- now, my vdr is running on a channel, which i can watch on my xbmc box, but when i try to change to a different channel from the xbmc box .. it freezes ? what am i missing? - freezy - 2009-02-12 I actually didn't have to put anything under user/password in XBMC's TV settings to make it work. - alwinus - 2009-02-12 megacrypto Wrote:now, my vdr is running on a channel, which i can watch on my xbmc box, but when i try to change to a different channel from the xbmc box .. it freezes ? what am i missing? Have you only one DVB Card? If yes it is possible the other channels are blocked, can you try VDR with the dummydevice plugin http://phivdr.dyndns.org/vdr/vdr-dummydevice/vdr-dummydevice-1.0.2.tgz and switch inside VDR under Settings->DVB->Frontend to another one. For the MythTV selection inside settings, it is not programmed now and without function. Best regards, Alwin - JayJay - 2009-02-12 Hi, I am new to the forum and congrats for this jobs (integretion + HowTo) @megacrypto for your probleme of freeze, in your VDR streamdev.plugins settings, change: Suspend behaviour Offer suspend to Always it should fix your problem [EDIT] else you could only tune to a channel in the same transponder of the one selected in the VDR server if you have enable concurent decoding in your sc config and good luck |