It seems to be very mysterious to build the IPTV/ VoD. But setting up an IPTV network is very easy as long as you master some basic knowledge. IPTV networks are basically intranets, only the web browser isn’t on a PC, it is on a set-top box. If you’ve set up an intranet or public website, you can set up your own IPTV network and do what you want with it. You don’t need massive and expensive servers, specialized set-top boxes or overly large development teams working with complex software. With the right DVB hardware and software, it should take you less than a few hours.

Why to build your own IPTV

There are kind of people who might have interest in building IPTV.

  • Create an internal TV system for training, advertising or information display;
  • Create an IPTV showcase for your clients so they can visualise opportunities;
  • Evaluate current IPTV technology without massive expense;
  • Convert your existing client websites and applications to IPTV versions;
  • Cross-train your web developers so they have IPTV skills;
  • Build a great new idea or application that would work well on IPTV;
  • Integrate your current web-based systems into an IPTV environment (e.g. VoIP)

What you’ll need

  • A TV
  • An IP set-top box
  • A multicast-capable router
  • A web server
  • A video server
  • 2 x PLC Adaptors
  • Sample video material

In this guide, we’re going to use free open source software (FOSS) where we can. We’ll also be adhering to open standards wherever possible. Our HTML screens and menus will be housed on an Apache web server running PHP, Perl, Python & MySQL, and our video will be encoded in MPEG-4 H.264 AVC, packaged in a simple MPEG-2 transport stream. We’ll stream out our video with VLC and Helix Server.

1. Finding a new home for the kit
Luckily, your brand new shiny IPTV system won’t need much space at all. The 2 PCs (web server and video server) can be hidden away under a desk, kept in a server room or tucked away under the stairs somewhere. Using PLC adaptors means you don’t need cabling dangling around. What you will need is a space for demonstrating it on a TV. That could be on a desk, in reception or in a corner of the office with a couch.

2. Choosing the right set-top box
The most critical decision in setting up your system is what IP set-top box you will be using, as all of them run different software and have different capabilities. All of them connect to the TV using a standard scart cable or RCA sockets, and display PAL/NTSC video at standard resolution. It’s preferable if they have a web-based control panel, but many have proprietary configuration screens or use simple telnet.
The most popular choice of software is an embedded web browser, which for all intents and purposes does the same thing as a PC web browser like IE, Firefox, Opera or Safari. The developer interface tends to be a mark-up language, usually HTML/Javascript. The main embedded client software programs in use on IP set-top boxes today are Fresco/Galio (from Ant Plc), Opera, Escape/Evo (from Espial) and Myrio (based on Espial). You can think of them of little web browser units.

In this guide, we will be using the CMS 1080 (from Complete Media Systems), running Ant Galio 2.0. The box itself supports video delivered in H.264 AVC or Windows Media. We will be using the former.

3. Setting up the network
IPTV runs over an IP network, which means it will work over your existing home or office Ethernet network. You’ll probably already have a router or switch that your desktop PCs are plugged into, although it will be best to create a new, separate network for your TV as the traffic load is much higher than a normal data network designed for internet and/or LAN connectivity.

An IP set-top box is just another network client device. When it is connected to the IP network, it is assigned an IP address by DHCP just as a desktop PC would be (this can also be static). If your router doesn’t act as a DHCP server, you don’t have a network gateway or are experiencing problems with a crossover cable, simply download and install a free DHCP server from the internet onto your web server PC.

Your PLC (powerline communication) adaptors create an Ethernet network over existing electricity cabling, which avoids the need to have wiring everywhere when you can’t use wireless. They generally come in pairs, and cost £100-200 from the high street, your ISP or online retailers. The first should be plugged into an AC plug near the router, and the second should be plugged in next to the set-top box. Both then have Ethernet sockets which you plug normal cat-5 cable into.

4. IPTV Streaming live broadcast video
The first thing to simulate on your IPTV system is live TV ,this can be done in two ways. The first is easy, the second is either painful or expensive. Live broadcast IPTV needs to be multicasted 24-7 over the IP network, as unicast is too inefficient. We will be IPTV streaming live TV from our video server.

For each channel, we need to broadcast a 5 minute looping pre-captured video clip to a multicast IP address. For this, we can use the free VLC player, or the industry standard WinSend, created by Pixstream. You can test if the stream is being correctly outputted by opening the same network stream with another copy of VLC on another computer on the network. Do this for as many channels as you require. Once they are broadcasting, the set-top box will be able to tune into the multicast stream just as VLC does.

The more advanced way to provide live broadcast TV (such as Freeview) over an IP network is to convert MPEG-2 video received from a DVB receiver (a TV tuner card, for example those made by  TBS) into multicast format, which is known as IP encapsulation. Something I have to mention is that TBS 6984 quad tuner card is incredible amazing for IPTV providers. It allows you receive four different transponders at the same time.

5. Preparing VoD content
Making DVD quality video across your network is split into two separate parts – getting the video files into the right format, and secondly, setting them up to stream from a video server. The bad news is that there isn’t a free or open source VoD server that you can use to exactly simulate what would happen in a commercial service.

Your video material will need to be pre-encoded in the same way the live multicast video is. Software encoders from vendors like Elecard, MainConcept Cyberlink and Nero will easily compress video from most formats (MPG, AVI, MOV etc) into MPEG 4 H.264 AVC, but they will additionally need to be encapsulated in an MPEG-2 transport stream for delivery over the network. The free open-source Media Coder program produces excellent results.

The main choices for serving video on-demand over our IPTV network are the open-source Helix Server and Darwin Streaming Server, both of which come in Windows flavour, but can also run on Linux. We also have a trial of the Elecard RTSP server that can also be run on either OS. If your own network is set up to use Windows Media, you can happily and easily unicast and/or multicast video from a Windows Server PC running the free Windows Media Server.

Once the video files have been pre-encoded, they need to be placed in the directory on the video server that has been allocated as the storage folder, as well as mirrored in the Apache web directory allocated on the web server. Almost all the RTSP servers have a web-based configuration panel and will need to index/identify each file for streaming. Once these are in place, test the RTSP capacity of the server by opening a network stream to them in VLC, and once any problems are corrected, your IP set-top box will play them using its in-built API.

6. Creating screens and menus
Menus for the TV screen are created in HTML, CSS and Javascript, just as normal web pages are, using the same standard tools (Dreamweaver, Photoshop etc). The software on the device is an ordinary web browser like IE, Firefox, Opera or Safari, and overlays the web pages you create on the screen through the scart cable (OSD). Most have full support for open standards and current technologies such as RSS and AJAX. Some also include the Macromedia Flash 6 player. It’s a case of write, and then refresh the browser screen, just like normal web development.

Each set-top box’s hardware is different, so there is a different Javascript API for each device model that must be obtained from the manufacturer. Video can be displayed and scaled as any kind of image on the page, and manipulated by normal Javascript functions. The set-IP will not come with any software applications pre-installed (or even commands on the remote to go back or refresh the screen), so the very first application you need to create is an electronic programmed guide (EPG) to navigate around your service and watch video streams.

Using HTML for menu and screen displays means content can be dynamically generated using a server-side process just like any web page. The TV screen displays whatever you send it, meaning you can integrate any type of web-based system into your new IPTV network, such as the Asterisk VoIP PBX, the Jabber IM server, multiplayer game servers, your own web application or an external XML API.

7. Showtime!
Once you have your network set up, its up to you to get creating menus and screens, and adding video content onto your video server that can be played back through the TV. The production procedure is exactly the same as it is for a website, only with TV-specific functionality and usability issues. Over a few days or weeks, you suddenly have an entire TV network to yourself that you can do anything to, just as when you have your own website that you can do anything with.

Written By Alexander Cameron