DEV Community

Cover image for How Can I Create My Own IPTV Channel? (Playlist)
Kalyani
Kalyani

Posted on • Updated on

How Can I Create My Own IPTV Channel? (Playlist)

Custom channels or playlists from the provider

An IPTV system can be used to make video content available on a private network in a venture, although such applications are far very less common than subscriber-based models due to the issues, network latency, and scaling issues.

IPTV providers include a vast range of companies from very large network operators, like Verizon with its FiOS video services, and other major companies, such as Netflix, Google, Apple, and Microsoft, to Sony, which also offers video streaming services via smart TVs and internet-enabled devices, and AT&T. Providers of IPTV have also included a wide variety of smaller or calling companies sometimes experts in certain types of content delivered over a broadband IP connection.

To start broadcasting, you need to:

  1. prepare content (video files)
  2. create a playlist for the broadcast
  3. create a stream that will broadcast the playlist.

Then, you can configure how to:

  1. add a logo;
  2. schedule the video's launch.
  3. UDP multicast your channel's content

Making a playlist
The files in our playlist will be used. Refer to Server-Side Playlists for more information on how to add streams to a playlist.

Important. Codecs, resolution, and bitrate must all be identical across files and other sources.

Step 1: Establish a location for storing files.
Place the files in the designated directory after specifying the path to a directory containing video files.

The default directory for files is /opt/flussonic/priv, and it is already present 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

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/.

A text file called Playlist contains a list of sources' links. We'll use the Linux text editor nano to edit the playlist.

Run the following instructions to set up nano: Create a file after running

apt-get update.
apt-get install nano
Enter fullscreen mode Exit fullscreen mode

The editor opens the file right away.
Create a file playlist.txt in the directory /opt/flussonic/priv/ by using this command:
nano /opt/flussonic/priv/playlist.txt

Add links to the broadcast-ready video files at this time.

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

Step 3. Construct a stream.
The configure file should be expanded. In the UI, you can make a static stream: Click Add under Media > Streams. Indicate the URL and stream name. See Live streaming for details on static streams.

Run the following command on the Linux command line to reload the server configuration:

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

 {
  input playlist:///opt/flussonic/priv/playlist.txt;
}
Enter fullscreen mode Exit fullscreen mode

Alternatively, you can create a static stream in the UI: Media > click add next to Streams. Specify the stream name (infochannel) 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 the Linux command line:

service flussonic reload
Enter fullscreen mode Exit fullscreen mode

The web interface's Media > Streams section will display a new stream that will play the given files repeatedly. You can play it to see how it functions.

Transcoding is used in our example to create a logo, and it is a resource-intensive process. By using this technique, a logo is burned into the video stream. Channels transmitted using IPTV networks can use it.

An image file in PNG format is required to add a logo. Let's utilize it as your video stream's logo. The logo appears in the top left corner of the screen after reloading the server settings.

/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 infochannel stream settings and specify erly-small.png as the logo:

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

Creating the timetable Open the playlist.txt file you previously made.

You can specify the playback duration for each playlist item using the control command #EXTINF. Then shows the first 30 seconds of the first file and the first 60 seconds of the second file, for instance.

The Unix Timestamp of the time you wish to play the playlist item can be set with the tag.

The playlist item's start time, in ISO 8601 format, can be specified using the tag.

Open playlist.txt that you created earlier.

With the #EXTINF tag (control command), you can set the playback duration for each playlist item. For example, broadcast the first 30 seconds of the first 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

Channel distribution through UDP multicast

Add a multicast address and the push directive to the stream's settings for local network distribution.

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

Conclusion
Operators of IPTV can use m3u editors to create a customized playlist on the server and can enjoy it. IPTV channels you want to add to the list should be administered in the same way. Click on the activities first, then on the Library, and then finally Export playlist in iTunes.

Original Source: https://flussonic.com/doc/how-to-guides/how-do-i-create-my-own-iptv-channel-playlist/

Top comments (0)