From owner-freebsd-multimedia@FreeBSD.ORG Sat Mar 26 21:55:15 2011 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7801A106564A for ; Sat, 26 Mar 2011 21:55:15 +0000 (UTC) (envelope-from user.vdr@gmail.com) Received: from mail-iy0-f182.google.com (mail-iy0-f182.google.com [209.85.210.182]) by mx1.freebsd.org (Postfix) with ESMTP id 3192D8FC0C for ; Sat, 26 Mar 2011 21:55:15 +0000 (UTC) Received: by iyj12 with SMTP id 12so2862869iyj.13 for ; Sat, 26 Mar 2011 14:55:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=nvxv917rcGhXm4n+LaP9ntbLX0FeawsO2fKMQpvO7K4=; b=nDH26qlngDuTU9am/KEhq+0cT6tKt+2Qkl/wsiniYNGxxRPJQZ8eLWC4hyFTyEgvj5 ovstQtEX27mk/2cyeGKC5Eb6B6bufFDBcgwLOTXFsB/ozIAABxBRChEEayvmhDs1RAew 4zGivhI5vV+9WDSOl1SP5XFEC+4Th0ms1fn/0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=UXA1xVpTq0oyhNI7cDbnZwVCu0YDHci10y2uagHiLewR040QNEKawv3WUoSfXCP9/+ COBWuTKb+nHvzSxaiOe+mIYbqzl18sngjGfkz3pOL3HhFqGhpU5RCgskeHMaHN8knPhB Zjoh6Nb/xqODq6EempRzlrWzLn19iylJGRzZY= MIME-Version: 1.0 Received: by 10.231.61.18 with SMTP id r18mr2329806ibh.71.1301176512885; Sat, 26 Mar 2011 14:55:12 -0700 (PDT) Received: by 10.231.206.82 with HTTP; Sat, 26 Mar 2011 14:55:12 -0700 (PDT) In-Reply-To: <20110326192838.GA68179@triton8.kn-bremen.de> References: <20110326192838.GA68179@triton8.kn-bremen.de> Date: Sat, 26 Mar 2011 14:55:12 -0700 Message-ID: From: VDR User To: Juergen Lock Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: freebsd-multimedia@freebsd.org, lme@freebsd.org, freebsd-ports@freebsd.org, Alexander Leidinger Subject: Re: some vdr intro/installation notes (watch/record/stream tv) X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 26 Mar 2011 21:55:15 -0000 There are a few things I'd like to comment on..... On Sat, Mar 26, 2011 at 12:28 PM, Juergen Lock wro= te: > =C2=A0So what is vdr? =C2=A0It's something like a luxury settop box/pvr o= n a pc > to receive/watch/record/stream digital tv channels with epg (electronic > program guide), timers, client/server networking, webinterface etc pp. > So if you have a FreeBSD (or Linux, but that's not covered here :) > server you can add one or more dvb/atsc tuner(s) connected to a > satellite dish, cable tv or just a dvb-t antenna (or receive iptv > streams without a tuner if your isp provides those tho I don't know > if anyone tested `real' iptv on FreeBSD yet), browse/search epg, > set timers for automated or manual recordings, and watch the > streams/recordings elsewhere on your lan. =C2=A0Or if you have a FreeBSD > desktop you can also connect a tuner there and do it all on one > box - or just run a vdr client like vdr-sxfe (installed by the > multimedia/vdr-plugin-xineliboutput port) or a client vdr instance > using the streamdev-client plugin connected to a (possibly Linux) > vdr server elsewhere on your lan. It should be noted that VDR was not designed to be a server/client system. While it's technically possible to use it that way, keep in mind that each client will not have it's own access to OSD, timers, etc. Although server/client systems are widely popular these days, I wouldn't expect this kind of major change to happen to VDR any time soon. When and if it ever does, it's going to take a lot of work. Unfortunately I don't recall VDR's author (Klaus Schmidinger) ever expressing interest in this. > =C2=A0Note: vdr 1.7.17 is the development branch so expect bugs! > (I mostly used it because the stable branch (1.6) doesn't support > dvb-s2 and h264...) There are patches for the latest "stable" branch (1.6.x) which add support for dvb-s2 and h264. The 1.6.x was considered final a long time ago and hasn't/won't receive any updates. All development is done in the current 1.7.x branch. Although VDR has both a "stable" and "developer" branch, users should be aware that the developer branch is easily as stable as the stable branch. It's by far the users preferred branch of choice. Nobody should have any worries about running a developer version. The only time I personally run the stable branch is inbetween the closure of the last developer branch and beginning of the next. In other words, I've always ran the newest version and in all the years of doing this, I can count on one finger how many times there was a stability issue. > 1. Before you start installing these ports either mount an extra > =C2=A0 fs with enough space for the recordings on /video or create a > =C2=A0 video dir elsewhere where there is space, symlink it to /video > =C2=A0 and make it writable for the vdr user. =C2=A0(or if you do have on= e > =C2=A0 big / then you can create the dir on there too of course, I just > =C2=A0 disabled the mkdir in the port to avoid inadvertently filling > =C2=A0 up ppl's small / fs.) > > =C2=A0 Or if you don't like a symlink you can also add your video dir > =C2=A0 as -v to vdr's startup args, see below. You can create the default dirs and using them directly, use symlinks to map the default dirs to dirs elsewhere, remap the defaults by editing Makefile, or simply override the defaults using command line options as you've mentioned. I've set my system up so everything VDR/dvb-related goes into /dvb. This makes it very convenient and easy to maintain and archive. Additionally I make use of symlinks such as /vdr which is always linked to the latest VDR version, /pluginsrc which always takes me to /vdr/PLUGINS/src, and so on. If you're a run-and-forget user then it may not matter much but if you tinker a lot then you might consider a similar setup -- you'll have a much easier time navigating around the dirs. > 3. I have rc.d scripts for vdr and vdradmin-am but even if you > =C2=A0 use those you still need to add plugins and their options similar > =C2=A0 to this to your /etc/rc.conf: You can automate most of the stuff required to run VDR, and everything else can be put in a .conf somewhere for the stuff that can't. I've found this extremely useful and worth looking into for any level user. > 4. Of all the video output methods only xineliboutput and streamdev > =C2=A0 seem to work (and the vdr-live webinterface browser streaming whic= h > =C2=A0 also uses streamdev), jpulz also has patches for softdevice so I m= ade > =C2=A0 a port for that too but it only gave me a black screen... =C2=A0st= reamdev > =C2=A0 doesn't have an osd so you probably want xineliboutput at least fo= r > =C2=A0 the first setup. Users also have the option of using vdr-xine, which is an alternative to xineliboutput. I'm only aware of a few differences between them, none of which have any real significance to me but the vdr-xine author, Reinhard Nissl, is an active developer of xine-lib's vdpau support as well. I've never used xineliboutput myself because of Rnissl's accessibility and status as a xine-lib vdpau contributor. The user bases for both vdr-xine and xineliboutput seem to be pretty evenly matched from what I've seen. > =C2=A0 I only very recently was able to test xineliboutput's vdpau/vaapi > =C2=A0 support and it turned out I had to add patches to the libxine > =C2=A0 port, so if you want to use that make sure it and ffmpeg are up > =C2=A0 to date and built with the VDPAU and VAAPI knobs on. =C2=A0To test > =C2=A0 vdpau you can try something like: (vdr-sxfe gets installed by > =C2=A0 the xineliboutput plugin port) With vdr-xine no patching is necessary as long as you using xine-lib-1.2 hg revision 11658 (hash 3501e0a6f75c) or newer. I recommend using this regardless as it contains items necessary for VDR-1.7.17's new truecolor OSD support. > =C2=A0 =C2=A0 =C2=A0 =C2=A0vdr-sxfe --hotkeys --video=3Dvdpau --post tvti= me:method=3Duse_vo_driver,use_progressive_frame_flag=3D1 --audio=3Doss --re= connect xvdr+tcp://127.1 > > =C2=A0 if that looks jerky or doesn't work with hd material maybe your > =C2=A0 card cannot handle the default vdpau deinterlacing method, you > =C2=A0 can change that in ~/.xine/config_xineliboutput, for an `old' > =C2=A0 ION I use: > > =C2=A0 =C2=A0 =C2=A0 =C2=A0video.output.vdpau_deinterlace_method:half tem= poral Your ion1 should be able to handle temporal, as mine does. Using half temporal shouldn't be necessary. > =C2=A0 If you don't use vdpau (I think that conflicts with compositing) > =C2=A0 you can now also try compositing and running vdr-sxfe with --hud IIRC, the compositing issue was resolved some nvidia driver versions ago. You may want to confirm this however at: www.nvnews.net > 7. And for those that want to use lirc: =C2=A0See the comms/lirc port's Note: LIRC users do _not_ need the remote plugin. > - If vdr crashes/exits at start check permissions of files/dirs it > =C2=A0needs write access to (below /usr/local/etc/vdr, /var/cache/vdr, /v= ideo) If you've remapped the defaults, then those dirs, which may not be the ones you've mentioned, need to be writable. > - Small bug: =C2=A0if playback of a recording doesn't start try pressing = Green. > =C2=A0(or F6 with my example remote.conf keyboard mapping.) I've never heard of this bug. Could you elaborate? > - Someone(tm) may want to write a `real' step-by-step guide how to > =C2=A0get a FreeBSD vdr going... =C2=A0(preferably someone who has never > =C2=A0used vdr before to make sure important stuff I never think about > =C2=A0isn't left out.) I haven't gotten around to giving freebsd+vdr a try yet but when I do I'll definitely be writing a howto which I'll be more then happy to share. It will however be geared towards a vdpau based system unless for some reason I decide to change from that, which isn't likely. And lastly I would like to point out that a small patch is required to VDR's core to get North American dvb-s AC3 audio working.