How to stream EVERY channel from Freeview onto your network

So, you’ve read my guide to streaming Freeview via VLC, and you’re thinking, ‘that was too easy’. What’s next? Well, we’ve streamed one channel, and you could potentially leave that running for your users… but what if someone wants to watch a different channel?

How about streaming ALL the channels?

I’m so glad you asked.

In my last school we had an Exterity IPTV system that I had been quietly jealous of ever since I left it behind. A commenter on my last article had the same system, but was less enamoured of it on account of the fact that his was buggered. Certainly a distressing situation to be in given how expensive Exterity is: buying the full 6-tuner system from RM will set you back over £8,000. They may not be the cheapest supplier, but you get the idea.

The thing is, these systems are a few years old, and the world has moved on. Today, free open-source software exists that will let you and I build something to do roughly the same thing for less than £500.

Yes, £500. You’re welcome.

This is a very technical article, so if you’re only here for me ranting about HP, this isn’t for you.

You will need

Your brain, again. Not only am I still making you think, but this will be a bit harder than my guide to streaming a single channel, and it’s not going to be a step-by-step guide due to the complexity.

A spare computer with at least 3 empty PCI slots (or USB 2.0 ports), and preferably with a gigabit Ethernet adapter if you want to stream a lot of channels. If you aren’t planning a high number, you can get away with a 100Mb card; I stream 32 TV channels and 22 radio stations from my box, and it uses about 80Mb of bandwidth (though it should be noted a few of the TV channels broadcast at mutually exclusive times, such as CBBC and BBC3).

This computer will need to run Linux; you can’t just slap some software on that spare Windows XP machine in the corner. I strongly recommend a dedicated unit. The good news is that it doesn’t have to be anything like high spec. You can almost certainly get away with the minimum specs for the Linux distro you choose. I chose Ubuntu because it’s the one I’m most familiar with and the DVB hardware support is pretty good. The machine I used is a 2005 vintage Acer Veriton and it barely tops 10% CPU usage.

Past its sell by date as a workstation, but more than good enough for IPTV streaming.

A gigabit ethernet switch is preferable at least on the network segment you plug the streaming machine into, and preferably a gigabit backbone throughout your site. You won’t need gigabit to the desktop, however.

6 DVB-T tuner cards (or 3 dual-tuner cards) that work under Linux. Preferably PCI, but you can get USB ones if you’re stuck for PCI slots. I’ll explain why you need 6 tuners later. I’ve been using Hauppage tuners, specifically the WinTV Nova-T 500, because they work well for me and Ubuntu automatically installs drivers that work.

You’ll need three of these puppies. They cost me under £60 each on Amazon.

An aerial splitter with at least as many outputs as you have tuners, since you’ll need to plug the aerial into each card. Most of these come with signal boosters built in, which will probably be handy.

A rough idea of which Freeview transmitter you get the best signal from. In my last guide we had to look up the exact frequency details, but there’s software on Linux that can do this for us. You’ll only need to know which transmitter gives you the best signal, so go here and punch in your address. Note that the one with the best signal is not necessarily the nearest one; if you’re within 50-60 miles of London, for example, you might find you get better reception from Crystal Palace than from a much closer transmitter, on account of Crystal Palace having a 20MW trasmitter, one of the most powerful in the country.

Why you only need 6 tuners for all those channels

DVB systems like Freeview don’t broadcast every TV channel on its own frequency like analogue TV does. It groups channels together onto a single frequency using multiplexing. At present, there are 6 multiplexes for standard definition (DVB-T) in the UK: Multiplexes 1, 2, and A-D. Each multiplex has a single frequency. This is why in my previous guide, tuning into a single frequency left you with a small list of channels to choose from in VLC. It’s also why the channel listings on the UK Free TV site are grouped into 6 blocks.

(In the UK, HD Freeview is broadcast on a separate multiplex, using an upgraded encoding method called DVB-T2, but since at the time of writing there are no DVB-T2 tuners for computers on the market, I’m not covering it here. Some current DVB-T tuners say they are “HD”, but this is just marketing BS.)

When your TV tuner picks up a channel, it’s actually picking up the entire multiplex, and just discarding the data for the channels it doesn’t want. Most consumer DVB software (e.g. WinTV, Windows Media Player), and almost all set-top DVB receivers, will only let you watch or record one channel at a time. This is merely a software limitation. You could potentially be watching BBC1 while recording BBC2 and CBBC at the same time with only one tuner, because they are all on the same frequency. The reason most devices restrict you to one channel at a time is because explaining to dumb end users why they can watch BBC1 and record BBC2, but not watch BBC1 and record ITV1, is very hard. So, they restrict you to one channel to prevent the deluge of calls to their tech support line by people who will never understand what’s going on.

You, however, understand. So you can merrily pick up multiple channels on a single tuner. With 6 tuners, you’ve covered every multiplex in the UK, and thus every channel.

Let’s get started

1. First off, get your tuner cards into the machine and get them working under Linux. If you haven’t already done so, you’ll also want to install the following packages using your package management system:

If you’ve used DVB under Linux before you’ll already be familiar with dvb-apps. The dvblast package is the secret sauce in this project. Developed by the same awesome team that brought us VLC Media Player, dvblast saw its first public release in May 2009. It is a very lightweight program designed for one singular purpose: tune in to DVB broadcasts, and stream them onto a network. That’s all it does. And it does it very, very well. We’ll come on to minisapserver later.

2. Before we start streaming, we need to get the full TV channel details for your local transmitter. To do this, we’re going to use the scan command that comes with dvb-apps, like so:

scan /usr/share/dvb/dvb-t/uk-CrystalPalace -u > channels.txt

That file in /usr/share/dvb/dvb-t/ tells the scan command which transmitter frequencies to check, and is supplied as part of the dvb-apps package. There’s one for each transmitter in the UK (and other countries too). Substitute with the correct file for your chosen transmitter.

Problems with tuning failed!!! messages? Make sure the aerial is plugged in (duh) and if you still have problems, try installing the w-scan package using apt-get and running w_scan -X -c GB > channels.txt instead, as documented here.

You should end up with a file containing a line for each channel that you can pick up, looking like this:

Yours should be longer; this is just some channels from the first two multiplexes. My top tip is to import this into a spreadsheet (delimited by a colon) to get a better view of the fields. Only a few of them are important for us:

Column A is the channel name.

Column B is the frequency (in Hz) of the multiplex this channel broadcasts on. The channels will be grouped together in the file by multiplex, so the frequency won’t change on every line.

Column D is the bandwidth. In the UK it will almost certainly be 8MHz.

Column G is the phase modulation type for the channel. I won’t try to explain it (you can delve into Wikipedia for that), suffice to say you’ll need to know it later. This should be the same for each channel that broadcasts on the same multiplex.

Column M (the last one) is the SID (service identifier) for the channel. This is very important as it is what dvblast uses to identify which channel to broadcast. Note that this is not the same as the EPG channel number, which isn’t shown in the file.

Go through this file and pick out which channels you want to stream. You almost certainly don’t want all of them since some are utter tripe and waste of bandwidth, while others are… not exactly suitable for a school, for example.

3. Once you have this data, you need to start writing the configuration files for dvblast. You’ll need one file per multiplex. I find I work best with an example, so here’s my configuration file for Multiplex 1, which carries most of the BBC channels:

The lines starting with a semicolon are comments, and you can write whatever the hell you want there, but I find the channel name is a good idea. The rest is simply a line with three columns: The IP address (and port) to stream the channel to, the ‘always-on’ flag (which you should almost always set to 1) and, importantly, the SID to identify the channel.

The IP addresses I’ve shown here are multicast addresses. I talked about how to pick the IP address to stream to in my last guide, but since you’ve had a beer since then and forgotten it, I’ll repeat it here.

If your network switches support multicast, pick a multicast address. There’s a long and detailed document from the IANA about picking one, but unless you are already using multicast on your network then you really just need to pick something in the 239.255.000.000–239.255.255.255 range, which is identified by the IANA as the Site-Local Scope. Anything in this range should work. I used 239.255.1.1 as shown below.

If your network doesn’t support multicast, or you don’t want to use it for whatever reason, then enter the broadcast address for your local subnet.

My addresses are all in the 239.255.1.x range, with the EPG channel number as the last octet. I could have simply gone for 1, 2, 3… etc. It’s up to you.

This is the multiplex that carries the rest of the ‘old’ analog channels: ITV, Channel 4, and Five, along with some others. You’ll also notice a radio station in there. Freeview has radio stations on it as well as TV, and they use exactly the same encoding as the TV channels, so we can stream them too. The observant among you will spot that I switched to the 239.255.2.x range, which I did solely because the EPG numbers for the radio stations start at 700, which doesn’t fit into an IP address octet, so I bump the radio stations up to .2 and then subtract 700 from their number to get my last octet. Again, you don’t have to follow this numbering convention.

4. Now you have these files written out with each channel you want to stream… we’re ready to start streaming them. You’ll need to start a separate instance of dvblast for each multiplex, using commands like so:

-a n tells dvblast to use tuner number n for this multiplex. Obviously, you can’t use each tuner more than one at any one time. Numbering starts at 0, not 1, you idiots.

-c nameoffile.cfg tells dvblast to use the config file you just write. It doesn’t matter where you save it.

-f 000000000 is where you specify the frequency for this multiplex. Remember how you noted that down from the scan listing earlier? You better have done, because next you’ll need…

-m qam_x the modulation type for this multiplex. And then…

-b n the bandwidth for this multiplex.

-e Finally, -e tells dvblast to also stream the EPG data. You’ll see how to use this in VLC later, and it’s very exciting. No, really. Shut up, it’s exciting, damnit.

5. Once you’ve started up dvblast, you should be able to start receiving on another machine! Same drill as last time…

Go to the Media menu, and pick Open Network Stream.

Enter rtp://@ followed by the streaming address of the channel you want, e.g. rtp://@239.255.1.1

Now click Play.

6. Now I’m going to show you the extra-exciting EPG interface.

To get to it, go to the Tools menu once a channel is playing, and select Program Guide.

Ta-daaaa! The guide will only show you a couple of programs at first but within about 10-15 seconds or so it should update with the rest of the day’s programming. It’s not the prettiest interface in the world, but you can scroll through and click on upcoming programs to see a synopsis.

If that all worked, you must now be wetting yourself with excitement, but we’re not done yet. Firstly, do you really expect the end users to know about typing in rtp MRLs with multicast IP addresses? What, are you going to give them a list of IP addresses for each channel?

No, of course not.

7. We’re going to set up the Session Announcement Protocol, which VLC can receive, to allow your users (and you) to simply pick the channels from a nice friendly list of channel names. This is why we installed the minisapserver package earlier. All you have to do is write a config file for it, like so:

I’m not sure the user, machine, or site fields are necessary, but they were in the example config file I used, so I filled them in. The order you put the channels in is sort of important, as the SAP daemon will send the announcements for each channel one by one, in that order. However, since the users could open up VLC while the announcements are already halfway through, they won’t necessarily be in that order when the user sees them. My advice is to teach your users how to sort the channel listing in VLC (below).

Gerard Sweeney also points out in the comments that you can group the announcements by adding an extra line to each [program] definition like so:

playlist_group=News Channels

These do however suffer from the same sorting issues as non-grouped channels.

8. Now start the SAP server like so:

./sapserver -c sap.cfg

9. Receiving the SAP announcements is a doddle in VLC 1.0 and upwards (you can do it in earlier versions, but it was more hassle, so just upgrade already):

Open VLC, go to the View menu, and select Playlist.

Click the arrow next to Local Network to expand it, then click Network Streams (SAP). After a few seconds (longer depending on how many channels you have), the list of channels will appear. You can click the top of the Title column to sort alphabetically. Just double-click one to start playing.

Now everything is nice and convenient for playback, but there’s one last thing to do to make life easier for you as the administrator. Remember how you had to start dvblast 6 times, and then start the SAP daemon? You don’t really want to do that manually, do you? Of course not.

10. Let’s get the machine set up to start dvblast and sapserver at bootup. I started doing this using init, but that turned into a colossal pain in the backside because typically it would start up dvblast before the network interface was ready, which would cause dvblast to immediately terminate. Instead, I’m using upstart, which is starting to replace init in Ubuntu and some other distros. One of the many nice things about upstart is that it can trigger something to happen immediately after the network interface becomes ready (and stop the process when the network goes down).

Upstart is very easy to use once you’ve figured out the config file syntax, and since you haven’t yet done that, I’m just going to save you the trouble by posting examples of the scripts I used. Copy these into individual .conf files in /etc/init

And you’re done. dvblast and sapserver will start up the moment eth0 becomes ready, and will even shut off if eth0 goes down.

All that for under £500

If this has all worked for you, then you’ve managed to build a live TV streaming system for your network that serves all the Freeview channels you want, 24/7. Earlier I said you could do this for under £500. I bought my three WinTV Nova-T 500 dual tuners for less than £60 each, and even adding in an aerial splitter brought my total to under £200. Since I already had an old spare PC knocking around, that was the entire cost of my project. Compare that with the £8,000 for Exterity and you’re laughing all the way to the Bursary.

If this didn’t work out for you, then you may have to figure some things out on your own. This is what I did, and it worked for me. If you have questions, post a comment and I’ll try to answer.

Was this useful? Useless? Do I have a glaring typo or a completely broken script? Feedback on this guide in the comments.

The ‘standard’ quality stream is noticeably inferior quality to that broadcast on Freeview. Only 5 channels are on the ‘high’ quality stream, and I can’t even see what that looks like because my ISP apparently doesn’t support it.

It shows adverts at the start of every session, even on channels which don’t carry adverts.

It doesn’t carry subtitles, which may seem like a small detail, but these can be incredibly useful at times.

The whole point of this guide, and the one before it, is to provide a service that doesn’t rely on your internet connection, which is in almost all cases the slowest, most contended, and least reliable part of your network.

TVCatchup may be fine for home users who don’t mind crap quality streams, but it isn’t suitable for larger networks where dozens of clients could be watching simultaneously, especially under conditions like those seen during the World Cup. TVCatchup is a consumer solution, while multicast IPTV is an enterprise-class solution, despite it being possible on a very limited budget. On even larger networks, multicast streaming effortlessly scales to hundreds, thousands, even hundreds of thousands of clients without placing any additional strain on the streaming server. That may seem overkill, but the experience of some schools with only 10-20 clients trying to watch online streaming during the England vs. Slovenia match was that their ISP couldn’t cope with demand.

Hi Angry Tech,
This is excellent work however Ive stumbled with writing a config file as our Network doesnt support Multicast addresses?
I have been given the Broadcast address for the local subnet but cannot get it to work with VLC media player. How do I write a config file to seperate each channel as you have done with the individual multicast addresses?

Would it be possible to give em an example? of the config file and how to run it on VLC the command rtp://@subnetmask….:port as an example.

First, be aware that doing this on a broadcast-only network will send all TV traffic to all devices on the network, whether they request it or not. If you have any non-trivial number of channels being broadcast you will likely encounter severe performance problems with your network, so I do not recommend it.

If you’re using the whole-subnet broadcast address you might have to separate out the channels by using a different port for each one (5004,5005,5006, etc.) You shouldn’t need to use this address at all though – network equipment that does not support multicast will simply treat the traffic as broadcast anyway, so just use the regular multicast addresses.

I am looking to set up in a slightly different scenario as would like to set up streaming to a variety of Macs and TVs at home. Do you know a way I can take the VLC streaming and tune in TV channels to pick up the broadcasts? Ideally this would mean I would tune channel 1 to streaming BBC1, channel 2 to streaming BBC2, Channel 12 to Sky Sports News etc etc. Almost like the way that its done in hotels.

I know I could just buy freeview boxes but I want to also stream my videos, music etc to the same TVs.

You’d be looking at dedicated hardware, pretty much exactly like those used in modern hotel setups. Unfortunately I don’t know of any consumer-oriented units, and the business ones that are out there are quite expensive (Exterity do them from about £200 upwards).

another SWEEEET how to by the almighty AT.
being 6 weeks from completion of a new build work have just had all the shop baught professional SH** paid for at great expence (and this only allows for a limited number of clients at once.

what with all the pc’s that i am being forced to scrap i am going to do one for home and scrap my old 26 inch crt tv and buy a new sexy 32inch monitor. will be interesting to see if an old tv uses more or less power than an eco pc with no cdrom and a ssd drive and a lcd monitor.

Happy to help with the tip – it’s a tiny contribution compared to your formidable guide.

I now have my streaming beastie up and running, and it’s all good and I am extremely pleased to be able to remove “Fix Exterity” from the to-do list.. It’s been a fun learning project, as I’d never touched Linux before then…

I don’t know if this would be of interest to anyone, but…

I’ve written myself a kludgy little AutoIt script to parse the channels.txt file to generate the Multiplex files, sap.cfg etc used by the Upstart service at reboot.

The script reads in a config file so I can say which channels to not add (Babestation etc).

The more astute of you will realise that AutoIt is a Windows only app. So at the moment, I have it running as a WINE app which is called by a script immediately after doing the scan channels bit..

The script also creates Windows shortcuts in a shared folder for the Staff to save me having to explain to folks how to use VLC’s playlist and its eccentric behaviour with not always displaying the video window for video streams if you switch from one to another (it plays the audio only).

The shortcuts generation bit isn’t really of much use at the moment on the Linux box, but I just run the same script on a proper Win32 box. At some point, I’ll try getting the Linux box to talk to the network, though that’s a battle with our IT boys for another day :)

If anyone would like a copy of this script, let me know.. Just don’t wet your pants too much at the thoroughly shonky coding.

The dvblast software will only work with digital broadcasts (terrestrial or satellite), but if you can tune in VLC to receive the broadcast from your analog card, you can stream it in much the same way as in my single-channel guide. The signal will need transcoding, but VLC can do that too so long as you have sufficient processing power to transcode 6 video streams in realtime.

You’re correct that you’ll need 1 tuner per channel in this case, since the channels aren’t multiplexed, so 3 dual-tuner cards will get 6 channels.

Hi, first of all thnks for this article, i’ve found finally a detailed example for dvblast.

But now, i need some help please.. this is my situation :

I’ve a pc with 2x dual dvb-t tuners (Nova-T 500) and i’m trying to demux and record 8 channels.. (from 2 different mux) I’m not really interestet to stream, i just need to build a 24/7 recording server.
After a lot of try and error streaming with vlc (basically it consume a lot of CPU during transcoding) I just used mencoder to tune/encode in flv/save one channel from each adapter, so max 4 channels.
Later i found dvblast, and finally i can demux with it and record/encode each single channel with mencoder.

my problem:

in dvblast, when i use multicast addresses, my gateway (zyxel p-660hw modem/router/4 port switch) stop working .. it seems to go at 100% of cpu usage, even if setup only 2 channels.
I tried setting up a non-multicast address but local ip not worked, and when using the lan broadcast address 192.168.0.255 i cant figure how i can record/watch, mencoder and vlc player does not receive nothing.

P.S. on the router box i see it support IP multicast IGMP v1/v2 .. but ..

I would say that if the switch is dying when it tries to do multicast, and it’s supposed to support multicast, there is clearly something wrong with it. All bets are off at that point. If one thing that’s supposed to work is broken, who knows what else might not work? Maybe broadcast is broken too.

I think your first step should be to try different networking equipment. You could also try upgrading the firmware if you haven’t already done.

Another possible option could to to DISABLE multicast on the router if the option is there. That may sound counter-intuitive, but on non-multicast equipment, broadcasting to a multicast address simply works like broadcast, and may stop the router from locking up. It may not help, but it’s always worth a try.

I decided to make an image of the PC – just in case, and it says that it’s using 27Gb(!).

The image with high compression scaled down to 17Gb.

I’m not fussed about the size of the image, as it’ll just live on a couple of external drives for safe-keeping, but it seemed ever so slightly chuffing massive considering it originally installed from a CD.

The only thing I can think of is that the imaging software is not correctly interpreting empty space on the drive, so has copied everything from the position of the first file on the disk to the position of the last file – even if there is empty space in between.

I just grabbed a freebie Windows one called Macrium after our obscenely expensive imaging/deployment system by Altiris/Symantec doesn’t appear to support reading Ubuntu-formatted HDs – though one of the boot disks can be Linux-based. Bit odd?

I thought it was that perhaps DVBlast was caching the streams in some form or other. Clutching at straws :)

Like I said, I’m not that fussed – it just seemed pretty damn huge. Even Windows doesn’t get THAT bloated from what is basically an initial install with a few added components… It takes at least a fortnight for that to happen :)

Thanks for the suggestion, though…

Tomorrow will hopefully see me attempting to restore said image onto a different HD – just to make sure :)

Nice guide, wanted to achieve something just like this when I was in a shared house at university actually.

Just a note about Debian (and Ubuntu) init scripts if you don’t want to go through using upstart: You can add a script using the update-rc.d command, if you put your init script in /etc/init.d (lets call it startblast) you can add the rc.d links AND make sure it starts after your network interfaces with the following syntax:

update-rc.d startblast defaults 80 30

The first number is the start sequence number (networking starts at 35), the second the kill number, those two should also be reasonable selections for a standardish system (if you want to check they don’t conflict: ls /etc/rc*.d).

Been trying to set this up, I’m getting there but I can’t open the stream on client computers.

I can open a copy of VLC on the Ubuntu box and it connects to the stream just fine. I have tried a multicast address and the Broadcast address so far… Are there any good reading sources online that anyone has come across?

I’ve got my test server and clients off the same switch at the moment which is a 3com 3c17302a superstack. I think Multicast is enabled by default? (Bridge>Multicast Filter > IGMP> Snoopmode > IGMP Multicast Filtering:Enabled)

The clients have no firewall and I haven’t enabled one in Ubuntu either.

I might carry the box round and try it on my core switch which is a much newer model.

Does every device on the network have to support multicast? We still have a number of older hubs dotted around the building.

It certainly sounds like the switch shouldn’t have any problems, though it’s always worth checking on another device.

Normally if the switch doesn’t support multicast filtering, it will simply broadcast the traffic to every device on the switch. Multicast should still operate normally on other segments of the network. At least, that’s what happened on my network until I scrapped all the non-multicast switches this summer.

I have tried this setup on my top of the range core switch (with a client computer connected to the same switch) and it works perfectly. Unfortunatley if I try from clients further down the tree connected to other switches I get nothing. I’ll post back if I figure out what’s stopping it.

Fantastic tutorial!
Do you think it would be possible to create some sort of web front end for this system so that the teachers could just click which ever channel they wanted and up fired VLC on the correct channel?
Rich

Do you mean embedding the video player into a web page that handles channel selection? Or just launching standalone instances of VLC? Both are possible, though the methods are quite different and each have their advantages and disadvantages.

For what it’s worth, the AutoIt script I wrote for our version of the streamer generates the shortcuts pointing to VLC.exe with the relevant switches to launch it with that channel.

I am – however – quite keen to find a way to get IE to play it embedded. I am tinkering with Xibo for our digital signs in the foyer area (6 screens) and would like to have the ability to have Freeview as a channel for times when important broadcasts like the World Cup and/or tennis are requested.

Does anyone know of a cheap set top box / media extender / other box that I can use to watch the live TV channels from a normal TV? I have several TVs in my house with no antenna sockets, but I can run ethernet to them so would like to use this as a cheap solution to be able to watch TV on these TVs? There must be a cheap hardware media thingy out there that can handle RTP streams… maybe with a guide would be a bonus :)

Also, does anybody know if this method works with DVB-S? And how DVB-S splits its multiplexes? Would like to add the freesat channels missing from freeview to the mix to get the ultimate list of channels on one platform. ;)

If you find such a box, let me know. The only one I know of is the Exterity kit, which hardly qualifies as ‘cheap’.

dvblast does work with DVB-S. I was interested in much the same thing as you, but unfortunately, there are many more multiplexes on satellite than on Freeview (typically with fewer channels per multiplex), and you still need a separate tuner for each multiplex. To pick up all the Free To Air channels would require dozens of tuners, and just picking out worthwhile ones that are missing from Freeview causes the numbers to stack up beyond what you could pack into one box.

After they did the switchover here, I can’t get it to scan anything.
I’ve updated the uk-BlackHill list with the updated frequencies using the calculation specified and also using a working updated one from a fellow BlackHill user.

Now when I do scan, I get pid timeout error messages and nowt else.

I’ve used w_scan and it finds the Central Scotland frequencies, but nothing else is happening.

A £20 freeview box hooked up to the aerial shows almost 100% signal strength.

However, I would like to enhance the setup by preventing the switch to replicate the streams to all ports.
To do that, I enabled IGMP snooping and IGMP filtering (so that it blocks multicast stream until the client has sent a “IGMP Join” message).

While VLC does send this message, I found out that dvblast does not generate the correct IGMP counterpart message to inform the switch it is a multicast sender. Thus, the frames are blocked at the switch level.

I can of course uncheck “multicast filtering” at the switch, but then multicast packet are flooded.

Do you have tried this setup ? Did you found a solution ?
(The switch is an entry-level Netgear smartswitch, a GS-716T)

Thanks

Note that this works fine with “mumudvb” (it sends IGMP report messages), but I did not used it because it is really too unstable in bad reception situations.

I use multicast filtering on our HP Procurve switches to do this, and it works fine with dvblast. The admin interface switch has a port traffic monitor and it shows zero traffic until the client sends the IGMP join.

I haven’t done any analysis of dvblast traffic on my system as I’ve never had any issues. What version of dvblast are you using?

A bloody good guide Sir.
I’m planning on implementing this in our IT basement dungeon that has no RF signal (cliche, i know, but i still find other IT depts in similar locations).

We have a 1gbit line to another building (which has a decent freeview signal (which i plan to split)) then send the signal over the leased line to our 40inch flatscreen sitting dead on our wall right now (other than a static network diagram presented on the screen occaionally which we pretend to look at when directors come in)

a couple of questions….(if you dont mind!)…
1. have any of you managed to get a VLC setup on a cheap pc working with remote control, or do you all have exterity receivers to tune into the igmp multicast packets?
1a). we dont fancy spending £200 on an exterity receiver, so do any of you have any alternatives for a remote controlled receiver (we have plenty of IT parts!).

again, just to reitterate what everyone else is saying, thanks for posting this detailed guide (one that you can follow for once which is rare enough troughing through google now days).

looking a bit further into my own question, a mythtv front end receiver looks like it could well fulfill our needs. all we’ll need is small linux box (mythbuntu is a mythtv pre-built distro….nice) on vga/hdmi to our tv with a windows mce remote (+iR) attached (supported by myth tv). Multicast dvb-iptv support looks a little patchy – says it supports recording on the back end, but not sure about live streams on the front end.
still, it is a nice clean gui if i can get it running and it should also stream any other files we have on the network file share with a couple of mce remote clicks…. if you have any other front end suggestions to your DVB-IPTV dvblast backend, i would welcome them.
cheers again. Tony.

For what it’s worth, I never did find out why our Exterity receivers can’t see the SAP from the Linux PC..

I did capture “stuff” on WireShark, but had absolutely no idea whatsoever what I was meant to be looking for. Any ideas?

Also – it’s nice to know, Tony, that lumping pretend presentations onto the screens when people of importance are visiting isn’t unique to schools… Do you ever get a TOP PRIORITY DROP EVERYTHING Helpdesk request when said pretend presentation doesn’t work?

i’m having a real troublesome time with ubuntu 11.10 and a terratec synergy piranha usb dvb stick. i’m no linux guru, but when i have to start editing perl scripts to point their “autoconf.h” to different place in /usr/src header directories, i know i’m in unknown territory. I’ve found the firmware file for the stick and its sitting pretty in the /lib/firmware directory but dmesg logs are having a fit. looks like drivers for it (in the sms10xxx modules) have been written for older kernels of linux and when i try to compile them i get all sorts of errors i cannot fathom.

might roll back to ubuntu 9/10 as it looks like other people have this working fine on other usb dvb sticks. (i’m running ubuntu 11.10 on an old dell laptop with that stick in the usb port).

Honestly, not much has changed in the intervening time. The only thing I’m going to try soon is demuxing some DVB-T2 streams, but I’m waiting until Ubuntu 11.10 later this month since that has drivers for the PCTV DVB-T2 290e nanoStick tuner I’m planning to use.

Saving a stream is possible using VLC. You can record manually in the GUI by enabling Advanced Controls from the the View menu, but if you wanted to create a PVR-like setup when you can set recordings in advance, you’d need to schedule it using the command line parameters of VLC.

Digital storage and distribution of recordings is permissible under the terms of the ERA licence, which you hopefully already have if your school has any VHS/DVD recordings. You must of course comply with the ERA terms, including in particular the recording labelling requirements (see clause 10 of the licence).

So a way of doing that might be for Staff to go to a basic web page with some legal blurb copied from their PDF and a link at the bottom saying “I understand, and comply with the above” which would then take them to the proper Subsonic (or similar) server?

This is all still HUGELY hypothetical, in that I suspect I would be murdered by my PTBs for even considering introducing this unsupported “hobby” project.. The joys of departmental politics!

Freesat actually works exactly the same way because it uses DVB-S, which is extremely similar to DVB-T at the data layer. If you have a DVB-S tuner that you can tune in to with VLC under Linux, you can use dvblast with it.

The only problem is that Freesat has far fewer channels per multiplex, so you need more tuners (and more LNBs). To get all the FTA channels you would need literally dozens of tuners, so it’s not cost effective.

Squeezebox does not support RTP streams, so that’s a no-go. The only dedicated media players I know of apart from Exterity that support RTP are the Dune HD players that are just hitting the market.

I’d start by having a look at the output of dmesg and find out why the cards aren’t being detected correctly. Aim to get them working in VLC first; if you get that far, then the rest of guide should work fine.

also being in a school could you tell us some of the uses this has for the teachers and students. this seems like a good idea and allot cheaper than the commercialy avalible solutions but what are the uses.
Thanks

Basically it comes down to whatever your school would find a ‘normal’ television useful for. In the senior part of our school, I know some teachers will put the news on during form time so that pupils have an awareness of current affairs. With the younger children, being able to pop a children’s channel on during wet break or after-school care is invaluable.

A quick question on the legal side – do you have any pointers as to what is required as to licenses – I’m struggling to find any germs of wheat in Google’s chaff…

We’re a higher education place so probably slightly different to a regular school as students live on-site. As such, I know that if they bring their own TV (or laptop with TV tuner?), they’re supposed to have their own license.
If I was to set a system like this up, any idea if I’d be falling foul of some legal issue if I allowed the students access to it from their own rooms? Or would the TV license that we have covering the TVs in our student common rooms also extend to the students?

The communal licence would not cover them. The presence of TV tuning equipment is unimportant, all that matters is whether you are watching live TV, regardless of means. The same is actually true for watching live streams from iPlayer: they would still need a TV licence to be legal (source).

That makes sense. Thanks for the link, a better source than I managed to find. I’ve never quite understood why live streams require a license, but watching the same program later doesn’t. I wonder whether introducing a 30 second buffer counts as non-live…

I guess though I could make it available as a service with a strict disclaimer that they need to have a license to use it. That’s what sites such as tvcatchup appear to do via their T&Cs.

Is there a reason why I couldn’t use a single feed quad card? Like the sf800 or HVR-4400 for example. I’m trying to get around having to feed multiple aerials to supply all cards. I guess I’d have to research the drivers issues with linux etc but essentially it is just like having four cards (realise I’m just sounding it out)

As long as it has working Linux drivers that allow dvblast to address each tuner individually, a quad card with a single aerial socket should work just fine. I only use one aerial socket on each dual card.

We recently(ish) had a major upgrade of configuration which saw us forced to move our IP streamer from its own VLAN onto the same VLAN as the teacher workstations as multicast across VLANs was no longer an option without shelling out serious cash.

I recently noticed that the connectivity of the teacher workstations connected to one model of Cisco switches was distinctly slower than other ones on a different model of Cisco switch. The activity lights of the Teacher VLAN ports also resembled strobe lights.

If I removed the ethernet cable from the streamer PC then all was well with the world.

Any thoughts on how to resolve this in case our Infrastructure chaps are more in favour of simply powering down the streamer?

It is a very useful guide for me. But I do have a question to ask, I only have one freeview receiver, I still prefer to watch TV anywhere (at home) I want. Is there an other way of automatic turning the frequency of the multiplex(only have one receiver) of dvblast or I have to do them manually using SSH every time I need to change channel?(e.g change from BBC One to ITV One). Sorry that my English is poor.

I know this has been on the internets for a while, but I would just like to say that this is probably the best write-up I’ve yet found. However, I am getting a problem with dvblast with error: error: setting frontend failed (Invalid argument)

I can launch the Tuner in VLC and all is fine, the fill command I’m running on dvblast and it’s output is:

Forget that, I missed the frequency being Hz, not KHz! (Do’H) – Though, I’m not getting playback on VLC (it has picked up the program name, and the program guide) I’ll have a look at that in the morning. Thanks for a great article.

I’ve ended up going down the USB route here – using the USB equivalent in the Nova-t 500 range (almost exactly the same price of ~£60 for a dual tuner) Whilst a little less tidy, the only machine I could fine going spare with 3 PCI slots was a massive old server, and I suspect that problem will only get worse – whereas USB is going to be around for a while.

Hello, I have got my streaming working making heavy use of your excellent guide. One issue I did have was the upstart script – I found it was failing as it was running after network was up (good) but before the DVB-T cards were, hence dvblast was quitting.

Gave a solution to a similar problem, which then resulted in the following upstart script:
# dvb-m5
#

description “DVB streaming, Multiplex 5″

start on filesystem and net-device-up IFACE=eth0.812
stop on net-device-down IFACE=eth0.812
script
#added to ensure that the DVB-T cards are init before dvblast
for i in {0..5}
do
TUNER=”/dev/dvb/adapter$i/frontend0”
while [ -c !$TUNER ]; do
sleep 2s
done
done

Jonas, I never actually captured the error. However, the problem was that dvblast was starting too early. Although the above should work, since the /dev/dvb/adapterX folder should not exist untilt that tuner is ready, I still found dvblast starting too early, and I’m not sure why.

I ended up putting a “sleep 30s” command in before the exec line, which means the script waits until the devices all exist, then waits another 30 seconds.

This is a horrible hack, but should ensure that everything is up and ready before the dvblast command is run, and anyway this script does not run very often – so the delay of a few seconds doesn’t really matter.

Hey there. Best write up ever!!!
I have everything running perfect on multicast etc within my local network. Is there a way of accessing this externally with my external ip?
I’ve tried restreaming each multicast ip via http and setting my external port numbers. But this leaves me with an instance of vlc open for every channel but can’t get this to work anyway. So I’d like to know if it’s possible to watch the live stream externally and if so how?

Briliant!!! Im going away abroad for a month and i was playing with the idea of using this setup so i can still watch my favourites away. Iv downloaded the open source, just trying to figure out how to install and use now.

Interesting….I spent hours trying to get upstart to work but just didn’t fully understand it. My solution was simply to put each dvblast command into the gui Ubuntu start up program, so it runs them once I’ve logged into the machine. This is fine because I’ve got the machine to auto log in. Call it a dirty way of doing things, but it does work.

This was working perfect, right up until I had to add another NIC to stream all the channels on IPv4 on 1 NIC and IPv6 on another NIC (don’t ask, but it is necessary in my client set up). Currently on rebooting the machine, all the commands will run sweet, but both streams will go out eth0 instead of eth0 and eth1. Routes added in /etc/networking/interfaces are correct as my current fix for this problem is to ethdown eth0, then ethup eth0. If you’re only using 1 NIC, I think what I described above will work more than fine, but thought I should mention the rest for anyone else reading this.

Another thing I find helpful – apt-get install bmon. I find bmon quite good for monitoring each of the 3 NICs (Other nic for management) in the machine.

On a related note, I’m currently writing a tutorial similiar to Angry Techs but with my experiences. Should be up in a few days: http://www.mattie47.com

I read the man page several times and am surprised I didn’t pick up on trying to do that. Currently, config is set up like below:

;TV3
239.255.1.3:5004 1 1300
[ff08::3]:5004 1 1300

I might give this a shot at work in the morning. Will report back on any success.

Cheers.

Curious, but did you ever end up having a look at mumuDVB?

The only time I tried it (and failed, months before dvblast admittedly…Have yet to give it another go) was getting it to run at home on a tp link WR1043ND running OpenWRT with a USB tuner following: https://forum.openwrt.org/viewtopic.php?pid=144920 (posting this purely because I think it’s awesome you can run multicast tv running just from a wireless router).

Thanks for the advice. It appears to have also fixed another problem. The network card we had doing IPv6 randomly would start sending the multicast out using the link-local address instead of the global address.

How you getting on with udpxy? im installed and ready to go but trying to figure out how to use, i have dvblast running and have my list of multicast ip’s, just trying to figure out how to tell it to open the streams for external use.

Yep, just forward a port on your router to your internal Linux box on whatever port you’re running udxy on. It doesn’t have to be port 4022, I just used that as it was in an example on the udpxy forums.

just a query, in theory could you potentially use a DVB-T tuner device on your laptop, to stream TV to your TV via a streaming media box like the boxee or roku? I’m in Ireland, so don’t know if that would be an issue, I get UK freeview at the mo, via sat dish and receiver box, but need one for each TV and need to drill wall of house to get feed in from sat box. have been using a WIfi radio for last few years and absolutely love it. (revo mondo) and am slowing waking up to the idea that I could get my TV in a similar way…

Ive been playing about this at work and have come into a slight issue, when using dvblast with a KWorld tuner I can only send the signal of around 6 channels, any more and VLC picks up the program name but wont pick up video / audio.

However if i use an old Hauppage mytv.t usb tuner i get a lot more channels in the exact same config (i.e. i send out 8 channels in the conf file with dvblast on tuner 0 (Kworld) i get 5 good connections and 3 only pick up thej program name no video, when i stop the command and use the exact same config but send out on tuner 1 (Hauppage) all 8 VLC windows pick up the channels almost immediately!)

Is there a difference in the quality of tuners and sending out a number of channels? I’m not the best when it comes to Tvs / freqs etc :).

So my question is: is there anyway of adding something into the configuration for the multicast traffic to be joined to a multicast group – like the work around in mumudvb “put multicast_auto_join=1 in your configuration file.” for the stupid HP IGMP Snooping switches.

I have attempted to configure mumudvb but with no sucess thus far. But as dvblast actually works i’d rather keep using this – just without flooding the network.

I have also looked at the udpxy, for unicast traffic, but the dvblast needs to be
running – and therefore it will still be sending out mulitcast data.

Looking back at obinou’s post (8th September, 2011 at 10.54 ), he had a very similar issue – did you get it sorted?

Are all the switches running the latest firmware? If they are, and you’ve still got flooding issues, one suggestion I could make is to run dvblast on a loopback interface (or an untagged vlan) and use udpxy to take the input from that interface and serve it unicast on a normal interface.

What part of setting up mumuDVB did you have issues with? It took me a wee while to get it working, as I have two NICs that traffic goes out on (IPv4 on one, and IPv6 on the other), but below is my config file. I’m also running DVBlast out 3 other tuners, and mumuDVB out the 4th tuner.

My issue was that mumuDVB couldn’t find the tuner, and I didn’t realise I had to literally point it to which tuner I meant. As you can see I’m using auto config, this was just to get it working, and I haven’t done much with it since, because I can just use SAP to see the correct channels. We’re simply using this and DVBlast for testing multicast, which has proven to be very helpful. Sent 74.4TBytes around quite a large network over about 4-5 weeks!

mate, I knew (blindly/in my heart/whatever) it was possible, eh, and following your guides I now understand yet another aspect of serving, which will be added to my “let’s get to know servers” server. Just purchased $32 worth of usb tuners from ebay – hopefully the interface is pretty standard by now. The cheap one I bought a few years ago worked fine with jockey. I’m easily serving many channels at once (on the same receiving computer actually) with no dramas out of a four year old low spec laptop. So…. if this all works, I’m gonna start collecting a bunch of throwaway computers from kerbside cleanup and buy some bulk tuners from overseas and maybe start selling these as a turnkey sollution at the kind of price that the average consumer can expect to afford to have live streaming of dvb around the house. Thanks for the inspiration – did you say you were a teacher? I hope your students realise you are giving them powerful sollutions that could be worth money in this economy…

That sounds like my project for Christmas. Do you need to pay TV license this way? I always watch stuff from the iPlayers or http://blip.tv but there are lots of shows that I miss. It’s always good having this option though.

brilliant guide, works like a charm. Works great on ubuntu server. Only thing is the router overheats. Which is strange because I watch multiple “streams” (per se) over “Samba” just fine, but whenever dvblast gets cranking, the router only lasts about 48 hours then twigs out and is super hot – even if no clients connect to the streams the whole time. We do have some switches and about 9 computers connected, but never had any dramas till dvblast, and since turning off the streaming for a few weeks after trying it twice, now everything is back to normal and we’re all downloading and watching media of various shared drives like crazy. Is this normal? Does RTP somehow stress the router out even when no client is connected? Is there some way I can take a load off the router by doing whatever task is causing it to get hot, by using some kind of magic software on the server?

I know you lambasted the first reader comment on mentioning TV Catchup. But out of interest, I wonder if you could you use your system above to reproduce something similar to TV Catchup, obviously building some kind of user player to receive the stream in place of the VLC player…..

It’s possible, but probably not practical. If you goal is to broadcast over the Internet, you would face the same legal issues that have dogged TV Catchup for years (see http://en.wikipedia.org/wiki/TVCatchup) you’d also need a hugely expensive amount of bandwidth as multicast doesn’t work over the vast majority of the Internet (I’m surprised TV Catchup can afford to run their service just on the adverts they add). To reduce costs you could transcode the streams to a lower-quality format, but you’d need a fair amount of processing power given the number of channels involved, and a significantly more complicated software setup.

Awesome write-up I must say. The best written on the this topic on the internet. I followed all your steps and everything just worked. I have gone on to do other things since then.

However, I have a problem that I don’t know if you have encountered. You are perhaps more experienced at his and you may have an answer. I am streaming four multiplexes from 3 physical PCs and I multicast the channels over a network using a Cisco 3560 switch.

The problem I have is that I can never see more than exactly 18 channels on VLC at any point in time. If all streamers work, it will be exactly 18 even though there are 32 channels on the network.

I know I am missing something but I just cannot put a finger on it. Do you get all your SAP-announced TV channels on VLC?

No, I haven’t. My guess is that it might be to do with VLC not correctly interpreting SAP announcements from multiple sources. As a test, try putting all the channels in the config on a single machine, and see if you still get any missing.

Apologies for not getting back immediately. I have only just found time to try it out.

I started out typing this message to tell you that still it didn’t work except now I am getting 22 channels instead of the previous 18.

I decided to look at why I was getting 18 at first and now 22. I looked at my first SAP file which I called sap1.cfg (to identify channels from the 1st Transponder) and then I realized that I had increased the number of channels I was streaming from the transponder – 22 of them. Before I contacted you, only 18 of them.

I thought ah!, perhaps I should put all the channels in one single file. (I previously had a separate SAP file for each transponder) Bingo, VLC can now see alllllll my channels. This literally happened only a few minutes ago.

Thank you very much for suggesting to put the SAP announcements on one PC. Cos attempting to do that led to the solution.

SUCCESS!

Thanks for helping when I didn’t need to contact you and eventually when I did.

Very interesting guide. I’ve been setting up a few Digital signage players (mainly LG models, and 1 experimental RaspberryPi model on test) but these do not support RTP URLs. It is possible to create an empty video file (ideally an avi or mpg) that contains opens the stream and plays it back? I will mainly want to be using BBC News, but I guess you would need 1 file for each channel. I’ve had a search online but I can only find instructions on recording the streams into a file, but I want it to play live (or as close to live as possible).

So far I have managed to get it to play live BBC News from iPlayer, but this relies on an internet connection, which some clients don’t have, so offering a local steaming solution would be great

Thanks for the reply. Annoyingly, the LG signage boxes are windows 7 based, and it is the LG software that removes this feature. The RPi software is too buggy for a reliable test. I will have to get a test rig set up and try the unicast. Thanks again

Hi there, may I ask how you have IGMP filtering set up on your ProCurve switches? We’re fully ProCurve over here (mainly ZL and GL series) and I have the default Multicast Filtering option enabled, but having the server running still seems to cause us major problems (dropped packets and general slowness etc) I checked it out in wireshark and I can still see multicast packets flying about for all the channels’ IP addresses even when the machine I’m capturing from doesn’t have VLC open.

That’s the option I used. Is it happening on all switches or just some of them? Also what model is your core switch? I had trouble with our 5308xl, it can’t handle any significant amount of multicast routing without freezing up at random, even on the latest firmware.

I experienced the dropped packets and slowness at our place. So much so that I was ordered to switch it off.

Basically, if I connected the streamer to a 3560 on VLAN10, any VLAN10 PC in the whole school on a 3560 would experience significant slowness, and the activity lights on the switch would go absolutely tonto. Regardless of whether anyone was actually watching any TV channels or not.

To clarify – there are 9 remote cabinets in our school, all with at least 1 3560 and 2950. The 3560s are there to provide POE for the phones. All of them would have this issue.

However – PCs on VLAN10 on the lower-spec Cisco 2950s in either the remote cabinets or the main cabinet where the streamer is connected were blissfully unaware of any problems.

So there’s something flooding the 3560s but our Infrastructure team – oddly enough – weren’t overly joyous at the thought of trying to support my £150 freeview network-killing streamer. Particularly as it looked like (presumably costly) support calls to VMB might be required.

Interestingly, the still-functioning Exterity “brick” which converts a SCART socket device to a multicast stream also exhibits this problem. So I’ve had to leave it switched off as well unless absolutely necessary. It’s only one multicast stream, but the activity lights are still VERY noticeably faster when it’s powered up – again, even if nobody is watching the damn thing.

I’m going to try moving the “brick” to a 2950 at some point, and see what happens. During the Summer. So I don’t kill the whole school!

I’ve had monitoring alerts about a few of our outlying switches, but I’ve only ever been at the core when the server is running, because I can’t leave it broadcasting for any length of time, therefore I can’t be sure it’s affecting them all, it could just be the monitoring system can’t get a timely response going via the core switch.

The core switch is a 5412zl, however the TV box isn’t connected directly to it, but through another 5412zl which is linked over fibre trunk, both have the default IGMP filtering enabled.

I am facing a problem with the DVblast which i spend couple of hours to solve but i think i need you help.

I am located in London and i have a single DVB-T card. When i am using the following command i can watch all the channels from the config file without problem:

dvblast -a 0 -f 482000000 -c arqa.cfg -m qam_64 -b 8 -U -t 10 -i 1

When i am using the following command for another multiplex dvblast can’t stream it with the error “warning: invalid FEC 999”

dvblast -a 0 -f 490000000 -c bbca.cfg -m qam_64 -b 8 -t 10

The only difference between the two multipexes is the FEC because the freq 482000000 have FEC 3/4 and the freq 490000000 have fec 2/3. Can i change the fec to auto or to something else for the freq 490000000 ?

I have already built this server with 3 dual tuner cards. The only problem is I have 30 analog channels i need to stream. How can I put the analog channels in a mux? Is there any hardware or software to mux several channels together?

1- I do stream tv channels through my network and it works fine, but what if I have a TV that I want to connect to my lan to view these streamed channels

is there any device or adapter I can use to connect RJ-45 to my TV (usually through RCA or RF cables NO HDMI OR VGA CABLES AVAILABLE IN ALL TV’s) and let users change channels through thier remote control?;

and if there are a HDMI or VGA inputs in my TV’s can they change channels through thier remote control?

2- what Multiplex exactly is, I am from Egypt and I don’t know how to get that Multiplex for NileSat satellite. Note: if I open my TV receiver menu I can see that there are some channel have the same frequency is that frequency the Multiplex or can I use it instead of Multiplex (Nilesat frequency are usually consistes of 5 numbers like 11639 )

3- I stream my channels in a 100mbs cables using mutilcast, so how many users can view may channles, for example if I stream 10 channels at 5mbs bandwidth will this consume 50mb of the cables bandwidth without affecting over PC’s connected to the internet through the same cable

1. I believe there are boxes out there that do this (the hotel industry uses similar devices) but I have no experience with them so I’m not able to recommend one.

2. A multiplex in TV terms is a combination of several digital channels onto one frequency. So when you look on your TV menu and see channels on the same frequency, those channels are on the same multiplex. You don;t need to know the numbers of the multiplex itself, it’s the frequency that is important.

3. If you stream 10 channels at 5Mbps, the bandwidth usage at the server will be 50Mbps. But unless the channels are being watched, there will be NO bandwidth used elsewhere on the network (if your switch handles multicast correctly). Even though the channels are being pushed onto the network by the server, the switch filters the data out and doesn’t pass it on to the other computers until they request it.

Pretty sure these are media converters rather than something that actually pushes data onto an IP network. It just uses the cables, not the actual; IP network. It might acheive the same thing but it’s a completely different technology.

I want to do a wireless network the users around 100 users and I want to share around 10channals form receiver or satellite card I need The way to do this without internet and
the distance 2 kilometers
please help me

Hi Angry man,
The method you have listed works absolutely fine if I stream just 1 channel (example: BBC THREE) of a frequency group(example, BBC THREE, BBC TWO, BBC ONE, etc use the same freq 505833330), both client and server are happy. But when I increase the number of channels to be streamed, the number of packets coming out of the server reduces drastically and hence, there is poor video quality(like stuttering) in the client. I am using 1GB switch (and of course linux OS).thanks.

It may make all the channels available, but how many can you actually watch simultaneously?

I think what you’re seeing is an EPG with every channel being sent to the network via DLNA, but it only tunes in when you actually select one of those channels. Looking at the product info, it only has 2 tuners. Even if it were able to take all channels from a single multiplex at once (and I’ve yet to find a consumer Freeview box that does this), you still need 1 tuner per multiplex, and to get every channel just in SD you need to tune to 6 multiplexes, which means at least 6 tuners.

The above solution gives you the number of tuners you’d need, and in theory you could have 100+ devices tuning into every individual live Freeview channel at once. At best I suspect you could only watch up to 2 live channels at a time on that Panasonic. If I’m wrong, and you can indeed watch more than 2 live channels simultaneously, then it’s unlike any other Freeview box I’ve seen so far and is an absolute bargain.

Hi, i got it working after messing with mumudvb instead, it was propably somekind of multicast issue. With mumudvb it works with unicast, but it eats lot of bandwitch, i have only 10mbit upload, and one viewing instance takes about 5-6mbit. So if i want to stream to 2-3 devices on WAN, its impossible. So heres another question for you, can i somehow stream to vps and then re-stream from there using vps 1gbit connection, so i could stream more than 2-3 devices simutaneously. I have to use unicast anyway, as i understand multicast only works in LAN.

This is a great guide and even now in 2014 I would like to setup a mediastreamer to stream the local channels when I’m on holiday.
Here in Belgium we have DVB-C but i guess it would also work.
I just need some advice about the TBS6618 card. This is a DVB-C tuner card with a CI slot.

The question : could I have all channels that are now on my TV to work with one TBS6618 card? It seems linux drivers are available but before I order the card it would be nice to know howmany cards I actually need.

I’m not a regular ubuntu user but I can follow newbie commands guide fairly well
If i would have about 5 channels to view on holiday that is more then enough, I would prefer to push it trough my cable modem witch has 10Mbit upstream.

From what I know about the Belgian DVB implementation, you’d need too many tuners for it to be practical. You always need 1 tuner per multiplex for this method, and while we currently only have 6 multiplexes in the UK, I believe Belgium has somewhere around 12, so you’d need 12 tuners to get them all.

Thank you Angry Tech,for this fantastic tutorial on tv streaming around the house , easily the best I have read ,even for people whom have little linux knowledge ,like myself .
I have a question . How can you make DVBlast stream it’s output to a file on the local H.D.D ,instead of just streaming to the network .There must be way do you think , but I can’t find it ,because I am newbie to linux .

Hello,
I was following your inputs about streaming and everything went very well. However, I wonder is it possible to decrypt two or more scrambled channels from one multiplex at the same time? As soon as I set it up, I get errors from the second stream where dvblast keeps resseting that second scrambled stream. I do have CI module and everything but still not worling with 2 or more scrambled cahnnels at the same time… Yeah, maybe I’m an idiot ;-)

Just thought I’d add in that I’ve recently done this and it’s working a treat. I used 3 win nova t500 dual tuner cards, Ubuntu 14.04 Lts desktop with him a gui turned off on some old P4 acer tower with 3 pcis, 1gb Ram, an 80gb HD and giga ethernet. Few problems I overcame were:

1. Dvblast now uses # not ; for the comments (channel names) as above.
2. My hardware installed unbuntu 14.04 no problem at all, everything worked out the box but the gui was painfully slow, move mouse, wait, mouse moves. I turned the gui off and booted to the cli, no problems from then on.
3. Sorting multicast on my netgear prosafe and Cisco Small business switches was a mind f**k. I basically has a laptop running wireshark to see what was going on on the switch while I messed with all the multicast settings until I got to a configuration that allowed me to run the streams while not flooding the network with multicast traffic! The Cisco Small Business stuff requires you to add each multicast address you want to allow on the network! Mind blown.
4. The SD PoE exterity boxes work a treat with the streams as long as they are in the 239.255.x.x range. Remote allows you to scroll through all the sap announced channels and change them like they were being streamed from an exterity ‘server’
5. The cheapest dirtiest screw fix aerial and coax cable with the cheapest 6 way splitter I could find at an electrical wholesaler worked an absolute treat! I spent £45 on an aerial and cable, £15 on a splitter and £160 on 3 cards, I had the hardware that I saved from the scrap bin. Total cost £220.

Just need to take an image of the disk now in case I break it… And maybe transfer it to a rack mount case!

I wanted to do this but as I have several WiFi routers/APs on the network that I couldn’t get IGMP Snooping to work on, I had to rethink.

What I ended up doing is setting up a second network bridge on my server and telling dvblast to broadcast to that instead of the real LAN. Then I added a static route so that multicasting uses this bridge by default and then ran udpxy on the same box as normal.

When a client from br0 requests a unicast stream, udpxy looks for the multicast stream on br1 and then streams it back to the client over br0. So its only using REAL network bandwidth on-demand.

As I only ever need a couple of streams at a time, this is actually more efficient than multicasting a ton of channels over the whole LAN all the time, and cheaper than buying a managed switch to avoid that.

I hope this helps other people as I was unable to find a good explanation of how to do this so spent a few hours trying different things before I got it to work.

Another way might be to to write a little script to generate shortcuts for each channel and save that in a shared folder. That’s my plan for work – save explaining to the assorted staff how to use VLC :)

I’ve just been reading the man pages for dvBlast – is there a way to stream the various channels with subtitles on at the source, or is this always something that has to be done at the receiving client?

Cheers for the reply. Setting subtitles on/off at source would be useful – but it sounds like the only solution would be to use VLC to re-encode the TV and subtitles into one, then stream out…possibly not worth the trouble. Will have a play :-)

dvblast only works with multicast addresses, so you have to send to a 239.255.x.x address, as explained in the article. Computers on the local LAN with 192.168.x.x addresses (or any other ‘normal’ address) will still be able to pick it up; the 239.255.x.x. addresses are special addresses that can be used regardless of the IP range in use for unicast.

Tnx, I thought I can use my dvb-t stick with dvblast for local LAN streaming. I thought I can forward port in my router and can stream over WAN with mine public IP. So what kind of software I need to stream over LAN or WAN without multicast address.

Freesat actually works exactly the same way because it uses DVB-S, which is extremely similar to DVB-T at the data layer. If you have a DVB-S tuner that you can tune in to with VLC under Linux, you can use dvblast with it.

The only problem is that Freesat has many more multiplexes, with fewer channels per multiplex, so you need more tuners (and more LNBs). To get all the FTA channels you would need literally dozens of tuners, so it’s not cost effective.