Multicast TV Distribution on my Home Network
Multicast TV Distribution on my Home Network
Today I am taking a look at the weird world of multicast, where packets get delivered more than once, and we route using a backwards routing table. But, once you understand how it works, a whole world of content distribution possibilities open up to you! Inspired by an old video by @TallPaulTech, I’m using live TV distribution as an example of how multicast works, and how it can potentially be a massive upgrade to your network in oddly niche use cases.
Video⌗

Prior Art⌗
These videos / etc. were very useful to me, or I think you would like them in relation to this:
Tall Paul Tech’s playlist on building an IPTV setup
Tall Paul Tech’s playlist on building an IPTV setup
Tall Paul Tech’s original video on the topic
Tall Paul Tech’s original video on the topic
Link-Local Examples⌗
All of these will work on a local network, but if you are not doing MLD / IGMP snooping, they may cause a generally bad experience (esp. for wireless clients).
Basic File (w/o transcoding)⌗
If your clients can decode the video / audio, you can save a lot of CPU power by sending it as-is, without transcoding. So, here we will take the media, copy the audio and video tracks, mux it into an MPEG-TS transport stream, and send it
Basic File (w/ transcoding)⌗
If your media is in a format that isn’t commonly supported (although if you are playing in VLC you should be able to play any format ever invented), you may need to transcode it. This example uses super basic x264 + aac, and again packs it into an MPEG-TS transport stream.
YLE TV⌗
I’m living in Finland, so I have access to the national broadcaster YLE. Your access to this of course may not be possible in your country. But, this is an example of how I am doing it.
Routed Multicast⌗
For larger networks where you need to span subnets / vlans, you can use routed multicast. I’m using source-specific multicast, which is easier to work with than any-source multicast, and we get to ignore rendevous points.
FRR configuration⌗
Here’s the configuration I’m using for FRR (it’s not optimized, I’ll admit)
Basic file routed⌗
This example streams a file over multicast, but uses additional options for source-specific multicast and with the correct hop limit.
You can modify any of the earlier link-local examples to work over routed multicast using these options.
[Starting my Content Delivery Network
→](https://www.apalrd.net/posts/2026/asn_cdn/)