DEV Community

Cover image for How to Create Your Own IPTV Channel?
Alexander Samuel
Alexander Samuel

Posted on

How to Create Your Own IPTV Channel?

*Provider's custom channels, or playlists
*
IPTV drivers can produce custom playlists on the garçon and distribute videotape lines and aqueducts through these playlists.

For illustration, you can produce an information channel( word channel) – a special channel where you distribute important information to your subscribers and announce new services. Or it can be a channel that broadcasts pictures.

Technically, a custom channel is a playlist that contains links to sources( similar to lines and aqueducts) that are located on the Flussonic Media Garçon. A custom playlist can run on a schedule and it plays the sources on a circle.

We'll show an illustration of a channel that broadcasts-prepared videotape lines.

** To start broadcasting, you need to **

  1. prepare content( videotape lines)
  2. produce a playlist for the broadcast
  3. produce a stream that will broadcast the playlist.
  4. also, you can set up how to
  5. Add a totem
  6. Start the videotape on a schedule
  7. Distribute your channel via UDP Multicast

Playlist creation
We will use lines in our playlist. still, adding aqueducts to a playlist is relatively analogous, related to Garçon- Side Playlists.

Important. lines and other sources must be identical in their characteristics codecs, resolution, and bitrate.

Step 1. Set up a file storage location

1) Specify the path to a directory with video files (a VOD location).

The default directory for files is /opt/flussonic/priv, and it is already available in the configuration file /etc/flussonic/flussonic.conf.
Example of the default path:

# VOD locations:
vod vod { storage /opt/flussonic/priv;}
Enter fullscreen mode Exit fullscreen mode

or:

# VOD locations: vod vod { storage priv;}
Enter fullscreen mode Exit fullscreen mode

We'll use the directory that is specified in vod. If you want to use another directory, you can create another VOD location or just change the path in vod.

Alternatively, you can use the Flussonic UI to specify storage for the playlist's files.

2) Place the files in the specified directory. In the example, we'll use bunny.mp4 and beepbop.mp4, which already exist in /opt/flussonic/priv/.

Step 2. Create a playlist

The playlist is a text file including a list of links to sources. To edit the playlist, we'll use nano, a text editor for Linux systems.

1) To install nano, run these commands:
apt-get update
and then
apt-get install nano

2) Create a new file playlist.txt in the directory /opt/flussonic/priv/ by using this command:

nano /opt/flussonic/priv/playlist.txt
Enter fullscreen mode Exit fullscreen mode

The file immediately will open in the editor. Now add links to all the video files that we are going to broadcast:

vod/bunny.mp4
vod/beepbop.mp4
Enter fullscreen mode Exit fullscreen mode

To exit and save the changes, press CTRL + X and agree to save the changes by pressing y.

Step 3. Create a stream

1) Add to the configuration file /etc/flussonic/flussonic.conf the directive stream NAME:

stream info channel { input playlist:///opt/flussonic/priv/playlist.txt;}

Alternatively, you can create a static stream in the UI: Media > click add next to Streams. Specify the stream name (info channel) and URL (playlist:///opt/flussonic/priv/playlist.txt).

For information about static streams, see live streaming.

2) Reload the server configuration by running this command in Linux command line:

service flussonic reload

A new stream will appear in the list of streams in the web interface (Media > Streams) and it will play the specified files on a loop. You can play it and check how it works.

How to Add a logo and Set up the schedule?

Our example of creating a logo uses transcoding and is considered resource-intensive. This method burns a logo image into the video track. It is suitable for channels distributed on IPTV networks.

To add a logo, you need an image file in PNG format. An example can be found on the server in /opt/flussonic/wwwroot/flu/images/erly-small.png. Let's use it as a logo in your video stream.

Add the transcoder directive to the info channel stream settings and specify early-small.png as the logo:

stream info channel {
  input playlist:///opt/flussonic/priv/playlist.txt;
  transcoder vb=2048k logo=/opt/flussonic/wwwroot/flu/images/early-small.png@10:10 ab=128k;}
Enter fullscreen mode Exit fullscreen mode

Reload the server configuration, and the logo appears in the upper left corner of the screen.

Learn more about overlaying a logo

Setting up the schedule

Open playlist.txt that you have earlier.
With the #EXTINF tag (control command), you can set the playback duration for each of the playlisted items For example, broadcast the first 30 seconds of the 1st file and the first 60 seconds of the second file:

#EXTINF:30
vod/bunny.mp4
#EXTINF:60
vod/beepbop.mp4
Enter fullscreen mode Exit fullscreen mode

With the tag #EXT-X-UTC, you can set the Unix Timestamp of the time when you want to play the playlist item:

#EXT-X-UTC:1522839600
vod/bunny.mp4
#EXT-X-UTC:1522843200
vod/beepbop.mp4
Enter fullscreen mode Exit fullscreen mode

Using the #EXT-X-PROGRAM-DATE-TIME tag, you can set the start time of the playlist item, in the ISO 8601 format:

#EXT-X-PROGRAM-DATE-TIME:2018-04-04T11:00:00Z
vod/bunny.mp4
#EXT-X-PROGRAM-DATE-TIME:2018-02-04T12:00:00Z
vod/beepbop.mp4
Enter fullscreen mode Exit fullscreen mode

Distribute your channel over UDP multicast

Add the push directive to the stream's configuration and here specify a multicast address for the distribution in a local network:

stream info channel {
  input playlist:///opt/flussonic/priv/playlist.txt;
  transcoder vb=2048k logo=/opt/flussonic/wwwroot/flu/images/early-small.png@10:10 ab=128k;
  push udp://239.0.0.1:1234;
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)