I've tried most of the DVB streaming solutions for Linux, including VDR, MuMuDVB, DVBBlast, dvbstream, DVBStreamer, GNOME DVB Daemon. I've only managed to find one that does this well though, which is DVBStreamer.
Getting started with DVBStreamer is pretty easy. First of all you need a DVB adapter that works with Linux. I use a USB ITE IT913x-based adapter, which works well for me.
Once you have a compatible package, you need to install necessary (Debian/Ubuntu) packages:
apt-get install dvb-tools dtv-scan-tables dvbstreamer vlc
Use the scan tool to create a DVB channel configuration file using the DTV initial scan file for your nearest transmitter. I'm based in Dublin, Ireland, so I've used my nearest DVB-T transmitter, Three Rock in this example:
scan /usr/share/dvb/dvb-t/ie-ThreeRock > /tmp/channel.conf
Once you have your channel.conf file, you can pass this to setupdvbstreamer which creates the necessary DVBStreamer config files:
setupdvbstreamer -t /tmp/channel.conf
Create a startup file to auto tune to LCN 2 to on startup and output some useful DVB-T information. LCN 2 currently corresponds to RTÉ Two HD on Saorview:
printf "set udp://localhost:1234\nselectlcn 2\nfeparams\nfestatus\nstats\nlslcn\n" > ~/.dvbstreamer/dvbstreamer.conf
Now you can start DVBStreamer using the following:
dvbstreamer -f ~/.dvbstreamer/dvbstreamer.conf
DVBStreamer is now streaming over UDP to localhost:1234. You can view this using vlc:
I don't like keeping a terminal open just to run DVBStreamer, so usually I start it in daemon mode by passing '-f -d' at startup, and control it using the remote interface to control instead:
telnet localhost 54197