Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 May 2010 22:32:48 +0200
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        Juergen Lock <nox@jelal.kn-bremen.de>
Cc:        freebsd-multimedia@FreeBSD.org
Subject:   Re: for those that want to try vdr on FreeBSD...  (dvb with webcamd)
Message-ID:  <20100504203248.GA8212@triton8.kn-bremen.de>
In-Reply-To: <20100502190207.GA96276@triton8.kn-bremen.de>
References:  <20100502190207.GA96276@triton8.kn-bremen.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, May 02, 2010 at 09:02:07PM +0200, Juergen Lock wrote:
> Hi!
> 
>  I took jpulz' vdr 1.7.14 patches: (hi, you never seem to be on irc
> when I am... :)
> 
> 	ftp://ftp.frm2.tum.de/pub/jpulz/VDR/
> 	ftp://ftp.frm2.tum.de/pub/jpulz/pictures/
> 
> and made q&d ports of those and of a few more plugins and two webinterfaces
> so I can now use FreeBSD as a pc dvb-s2 dvr:
> 
> 	http://people.freebsd.org/~nox/dvb/vdrdevel-preliminary.shar
> 
>  I don't know if/when I'll be able finish these to make them commit-ready
> (or even port all of the other plugins that people might want to use),
> if anyone wants to take over from here or at least help they are most
> welcome...
> 
>  Note: vdr 1.7.14 is the development branch so expect bugs!  (I mostly
> used it because the stable branch (1.6) doesn't support dvb-s2...)
> 
>  FreeBSD notes:
> 
> 0. See my earlier threads on the freebsd-multimedia list about webcamd
>    and the usb dvb-s2 tuner I use; the relevant webcamd ports and
>    frieds have been updated now so you _should_ be able to just use
>    those.  (I see no reason why dvb-t or dvb-c tuners wouldn't work
>    also as long as webcamd supports them, I just haven't tested any.)
> 
> 1. Before you start installing these ports add the vdr user and group
>    to /usr/ports/UIDs:
> 
> 	vdr:*:988:988::0:0:vdr user:/nonexistent:/usr/sbin/nologin
> 
>    and to /usr/ports/GIDs:
> 
> 	vdr:*:988:
> 
>    (you don't have to use 988, I just didn't want the id to conflict with
>    new ports being committed too quickly...), and then either mount an extra
>    fs with enough space for the recordings on /video or create a video dir
>    elsewhere where there is space, symlink it to /video and make it
>    writable for vdr.  (or if you do have one big / then you can create
>    the dir on there too ofc, I just disabled the mkdir in the port to
>    avoid inadvertently filling up ppl's small / fs.)
> 
> 2. I didn't make rc.d scripts yet so for now you need to start vdr as
>    well as the vdradmin-am webinterface manually, look in the README.s
>    of the individual (plugins, vdradmin-am) ports for any needed options.
>    My current vdr startup line is:
> 
> 	vdr -P"xineliboutput --local=none --remote=127.1:37890" -Pskinenigmang -Pfemon -Posdpip '-Posdteletext --directory=/usr/tmp --cache-system=packed --max-cache=128' -P"streamdev-server" -P"live -i127.1" -Pepgsearch -Pcontrol
> 
>    Oh and I skipped install of a lot of locales for now too...
> 
> 3. Of all the video output methods only xineliboutput and streamdev
>    seem to work (and the vdr-live webinterface browser streaming which
>    also uses streamdev), jpulz also has patches for softdevice so I made
>    a port for that too but it only gave me a black screen...  streamdev
>    doesn't have an osd so you probably want xineliboutput at least for
>    the first setup.
> 
>    I was unable to test xineliboutput's vdpau support since I no longer
>    have nvidia (and miwi's issues with the nvidia blob on amd64 don't
>    exactly encourage me to try it again soon...) - on the radeon here
>    using xorg 7.4's video-ati driver with xv xineliboutput via vdr-sxfe,
> 
> 	vdr-sxfe --video=xv --hotkeys xvdr://127.0.0.1:37890
> 
>    (vdr-sxfe gets installed by the xineliboutput plugin port) as well as any
>    other player that knew the xvdr protocol (xineliboutput with osd) were
>    unable to play h264 hd channels (I suspect they use too much cpu; I tried
>    xine and both the kde3 and kde4 versions of kaffeine,
> 
> 	xine "xvdr://127.0.0.1#nocache"
> 	kaffeine "xvdr+tcp://127.1:37890"
> 	/usr/local/kde4/bin/kaffeine "xvdr+tcp://127.1:37890"
> 
>    ), only mplayer and (sometimes) totem/gstreamer (incluing the totem
>    browser plugin invoked by the vdr-live webinterface) apparently were
>    efficient enough to decode h264 on this PhenomII cpu in software:
> 
> 	mplayer -mc 10 -cache 8192 -demuxer lavf http://127.0.0.1:37890/
> 	totem http://127.0.0.1:37890/
> 
>    (or using streamdev:
> 
> 	mplayer -mc 10 -cache 8192 -demuxer lavf http://127.0.0.1:3000/302
> 	totem http://127.0.0.1:3000/302
> 
>    - channel 302 is arte hd in my channels.conf.)
> 
> 4. I have no idea if the lirc support works on FreeBSD (and webcamd doesn't
>    seem to support dvb tuner remotes yet anyway), so you probably will
>    have to use keyboard control for now.  I have included an example
>    remote.conf for vdr-sxfe and the multimedia/vdr-plugin-control plugin
>    that you can access by telnet (default port is 2002), I have put the
>    menu button on the tab and insert keys and OK on the return key, see
> 
> 	/usr/local/etc/vdr/remote.conf
> 
>    for the full keybindings list.  (If you start vdr in the foreground
>    and keep that shell open you should be able to use that for keyboard
>    control also, the control plugin just gives me an osd too for when I
>    use mplayer...)
> 
>    Oh and the webinterfaces have point-and-click remotes too but I prefer
>    keyboard control.
> 
> 5. The example channels.conf is the one that comes with the vdr sources,
>    its for Astra 19.2E and a little outdated (also doesn't have hd channels
>    yet), if you receive something else and don't want to go hunting for a
>    suitable channels.conf on the web you can use w_scan for which I put a
>    port here earlier:
> 
> 	http://people.freebsd.org/~nox/dvb/w_scan.shar
> 
>    Remember to use -o7 for vdr 1.7, see the w_scan homepage for options
>    and examples:
> 
> 	http://wirbel.htpc-forum.de/w_scan/index_en.html
> 
>    Also note you probably will only need to use w_scan once initially,
>    this vdr version by default should look for new transponders itself
>    when it does its epg scan during idle times unles you disable that
>    feature.
> 
> 5. I ported two webinterfaces because I only learned about vdr-live
>    later which seems to be faster and uses fewer resources meaning you
>    could probably turn a pretty wimpy box into a vdr server as long as
>    you keep the actual watching (especially of h264 hd) to a faster box
>    connected over the network.  The vdr-plugin-live webinterface by
>    default listens on port 8008:
> 
> 	http://127.1:8008/
> 
>    and vdradmin_am listens on 8001:
> 
> 	http://127.1:8001/
> 
>    And the streamdev plugin has a (simple) webinterface too if you point
>    a browser at it: (instead of a player)
> 
> 	http://127.1:3000/
> 
> 6. I may have forgot some other manual installation steps, if you
>    notice something just post a followup...  Most of vdr's own
>    configuration including plugins should be available in the osd
>    under `Setup'.
> 
>  And finally, here are some links about vdr and the plugins and
> webinterfaces I made ports for:
> 
> 0. vdr 1.7.14:
> 	http://www.tvdr.de/
> 	http://www.linuxtv.org/vdrwiki/index.php/Main_Page
> 
> 1. xineliboutput-1.0.5 cvs snapshot from 20100414:
> 	http://sourceforge.net/projects/xineliboutput/
> 	http://www.linuxtv.org/vdrwiki/index.php/Xineliboutput-plugin
> 
> 2. streamdev-0.5.0 cvs snapshot from 20100426:
> 	http://streamdev.vdr-developer.org/
> 	http://www.linuxtv.org/vdrwiki/index.php/Streamdev-plugin
> 
> 3. live-0.2.0:
> 	http://live.vdr-developer.org/
> 
> 4. live also depends on cxxtools and tntnet which I also had to port:
> 	http://www.tntnet.org/cxxtools.html
> 	http://www.tntnet.org/index.html
> 
> 5. epgsearch-0.9.25.beta16:
> 	http://winni.vdr-developer.org/epgsearch/index_eng.html
> 	http://www.linuxtv.org/vdrwiki/index.php/Epgsearch-plugin
> 
> 6. femon-1.7.7:
> 	http://www.saunalahti.fi/~rahrenbe/vdr/femon/
> 	http://www.linuxtv.org/vdrwiki/index.php/Femon-plugin
> 
> 7. osdpip-0.1.0:
> 	http://projects.vdr-developer.org/projects/show/plg-osdpip
> 	http://www.linuxtv.org/vdrwiki/index.php/Osdpip-plugin
> 
> 8. osdteletext-0.8.3:
> 	http://projects.vdr-developer.org/projects/show/plg-osdteletext
> 	http://www.linuxtv.org/vdrwiki/index.php/Osdteletext-plugin
> 
> 9. skinenigmang-0.1.1:
> 	http://andreas.vdr-developer.org/enigmang/index.html
> 	http://www.vdr-wiki.de/wiki/index.php/Skinenigmang-plugin
> 	(sorry for de in the second link but at least there are pics...)
> 
> 10. softdevice 0.5.0 cvs snapshot from 20100414:
> 	http://softdevice.berlios.de/
> 	http://www.linuxtv.org/vdrwiki/index.php/Softdevice-plugin
> 
> 10. control-0.0.2a-45yavdr1 with ubuntu yavdr patches:
> 	http://ricomp.de/vdr/down_en.html
> 	http://www.linuxtv.org/vdrwiki/index.php/Control-plugin
> 
> 11. vdradmin_am-3.6.7:
> 	http://andreas.vdr-developer.org/vdradmin-am/

Ok I now found out why xineliboutput didn't want to play h264 at all:
the libxine port builds with an internal copy of ffmpeg by default,
turning on its 'Enable external FFMpeg' knob got it playing.  Its still
skipping once in a while, maybe using the new ffmpeg-devel port will
fix that, but looks like that would involve rebuilding several
dependencies at least so I haven't yet tried.

 While testing that, I have also added a small patch to improve the osd
resizing so the osd should look a little better now when the video resolution
changes (multimedia/vdr-plugin-xineliboutput/files/patch-osdautosize),
and I add the keypad return key to the vdr-sxfe remote.conf and changed
FastFwd from f to w because f is already in use for the fullscreen toggle
with vdr-sxfe --hotkeys.

 Enjoy, :)
	Juergen



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100504203248.GA8212>