IPTV essentially supports viewing television channels that you would normally watch on your television over the internet.
It looks the same as aerial, cable and satellite, except livestreaming TV uses an app on a streaming device (like a PC, Apple TV, or Foxtel).
Typically the protocol of choice for IPTV is the m3u8 video format, which supports a dynamically generated m3u8 playlist file,
that both describes the live video stream format, as well as points to one or more video segment .ts files.
The following is an example of the contents of an .m3u8 file.
This file describes the live video stream properties, but also points to a second .m3u8
Code: Select all
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:BANDWIDTH=1303789,CODECS="avc1.77.31,mp4a.40.2",RESOLUTION=854x480
chunklist_w814938559.m3u8
Code: Select all
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:18
#EXT-X-MEDIA-SEQUENCE:228333
#EXTINF:8.0,
media_w814938559_228333.ts
#EXTINF:7.975,
media_w814938559_228334.ts
#EXTINF:8.0,
media_w814938559_228335.ts
In this case, only the single stream type of an encoded mp4 stream with a resolution of 854x480 is available.
The second .m3u8 file gives information on the current live video segments that are available, as well as
the video segments length (#EXT-X-TARGETDURATION:18 which is 18 seconds) and what the current sequence of the video segments are.
This file is used by the video player to specify the URL in which the video file(s) should be downloaded, as well as when the playlist
should be refreshed by the video player to obtain a new list of video files to download.