How to install IPTV playlist without addons ... and more

How to install an IPTV playlist without addons … and more

Reminder and brief review of the installation of IPTV lists in CE/LE including the use of automatically generated piped streams in tvheadend

When we handle IPTV lists we immediately think of addons like PVR IPTV Simple Client, we also think of the tvheadend server that will allow us to make recordings and organize extensive TV channel libraries, and we forget that there are other methods that are easier to use or test. , or we find that tvheadend is unable to handle streams in m3u8 format.

As an exercise we are going to install the list of FTA channels (I recommend taking a look at GitHub - iptv-org/iptv: Collection of publicly available IPTV channels from all over the world</ti because It contains IPTV lists from almost every place in the world).

Quick mode: adding IPTV playlist to Kodi:

Add this command in /storage/.config/

wget -qO /storage/.kodi/userdata/playlists/video/FreeTV_DE.m3u ""

After restarting CE we already have the FreeTV_DE playlist available in the Videos playlists section … and it works, but we cannot make recordings or reorder the channels. If we want a step further we could create something that tvheadend names as IPTV Network and add it to the rest of our TV services.

Complex mode: adding piped playlist to tvheadend:

I recommend first of all adding the following commands in /storage/.config/

# allow us to see the playlist on Kodi
wget -qO /storage/.kodi/userdata/playlists/video/FreeTV_DE.m3u ""
# copy the playlist somewhere else before generating piped streams because
# tvheadend is unable to play m3u8 streams
mkdir -p /storage/playlists
cp /storage/.kodi/userdata/playlists/video/FreeTV_DE.m3u /storage/playlists/FreeTV_DE.m3u
# convert normal playlist into piped streams playlist
/storage/playlists/ /storage/playlists/FreeTV_DE.m3u

from now on we have the file “file:///storage/playlists/FreeTV_DE.m3u.piped.m3u” to add to tvheadend piped streams

The executable script /storage/playlists/ can have the following content:

if [[ -z $1 ]]; then
  sed '/#EXTM3U/s/http/TEMP/' $1 > $1.piped.m3u
  sed -i '/#EXTINF/!s/http/pipe:\/\/\/usr\/bin\/ffmpeg -hide_banner -loglevel error -i  "http/' $1.piped.m3u
  sed -i '/#EXTINF/!s/$/" -c copy -f mpegts pipe:1/' $1.piped.m3u
  sed -i '/#EXTM3U/s/TEMP/http/' $1.piped.m3u
  sed -i '/#EXTM3U/s/" -c copy -f mpegts pipe:1//' $1.piped.m3u


  • I am using docker tvheadend 4.3 and inside the container ffmpeg is in /usr/bin/ffmpeg. Modify this at your convenience, you can find your ffmpeg with the command “which ffmpeg”.

  • The piped settings are good for converting hls streams according to IPTV wurl standards (pluto tv, samsung tv, …) to ts streams manageable by tvheadend.


A very good guide to the ease of use of IPTV.

Are all of the channels for the various countries verified as being free?

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.