In a previous post I wrote a guide on how to get IPTV on your Android Box. That tutorial however used a paid IPTV provider and was intended for premium TV channels such as SKY and NOVA.
If all you need however is free OTA (Over-the-Air) channels then this is the post for you!
You may just need to watch free TV channels on a device that does not have OTA antenna capability, or you just want to watch free OTA TV of other countries (not Geo-Blocked).
Most free OTA TV channel networks in most countries have an online presence and offer live streaming web TV. This is usually targeted to residents of those countries to have access to local content while away from home.
You can also use those streams however to create a personalized TV service for your Android TV device.
For Greece/Cyprus users that want free OTA TV you can skip the section below and use the pre-configured list with free Greece/Cyprus channels and EPG schedules in the last section of this post.
HOW TO GET THE CHANNEL STREAM LINKS
EASY METHOD
The easiest way to get the stream links for TV channels is to visit the website linked below and browse for the TV channels you want to watch. These are categorized by Country which makes finding the streams very easy.
When you find a channel stream you want to copy, you simply select the “ADD TO LIST” function under each TV channel.
Once all your channels have been added to your list you then “DOWNLOAD” your list from the upper right hand side section.
You should now have a *.m3u8 file saved to your computer. This is the file that stores all the stream information that we will use to watch live TV on Android/Google TV.
Before moving to the next step is a good idea to test the list file and make sure that all streams are in working order. The website linked above contains some links to premium channels that may or may not work so you can test them to make sure.
To do this simply use VLC to open the *.m3u8 file you downloaded and use the Playlist function of VLC to go over the channels and verify that the streams work.
ADVANCED METHOD
So what happens when the channel you want to watch is not included in the website linked above but has an online web TV function?
Well you can find the stream link directly from the network’s website.
Navigate to the channel’s website and find the live/web TV player. You then need to right click on an empty part of the website and select “INSPECT” from the menu. The function is the same across all major browsers (Chrome, Firefox, Edge) however the placements of the inspect panels may vary.
Select the “NETWORK” section in the top panel. In some browsers this might be hidden so you need to click on the “>>” icon to expand the menu. While the player is displaying the stream find the line which includes something similar to *.m3u or *.m3u8 and click on it. On the panel that appears select the “HEADERS” section. Copy the stream link URL in the “HEADERS” section.
Save the copied link to a text file until you are ready to proceed to the next step.
EDITING YOUR STREAM LIST
Whether you are downloading your stream links list or creating your own there is a format that the list must adhere to. You can edit/create the *.m3u8 file using a text editor as it is a simple text file.
#EXTM3U
#EXTINF:-1 tvg-name="ANT1" tvg-logo="https://i.imgur.com/np0s1FN.png" group-title="Greece",ANT1
https://antennaamdnoenc.akamaized.net/ant1_akamai/abr/playlist.m3u8
#EXTINF:-1 tvg-name="STAR" tvg-logo="https://i.imgur.com/CJOtJlL.png" group-title="Greece",STAR
https://livestar.siliconweb.com/media/star1/star1mediumhd.m3u8
All lists have the #EXTM3U header and each TV channel stream link is defined in each of the #EXTINF sections.
So when creating your own list with links you extracted from websites (as shown in the Advanced section above) you need to first create the #EXTINF section and define the channel variables such as name, logo if any, etc prior to pasting the *.m3u8 link.
Note: If you are creating your own #EXTINF entries keep in mind that the tvg-name and channel name should be the same as the ones used in the EPG *.xml files in order for the EPG scheduler to be able to identify the channel.
ENABLE YOUR LIST IN ANDROID/GOOGLE TV
When you are happy with your list and everything has been tested in VLC you can then use this list to enable the LiveTV function on your Android/Google TV.
Go to the Google Play store on your Android/Google TV device and download the Live Channels app (if not already installed) and the TVirl app.
Open the TVirl app and it should guide you through the setup process. TVirl sometimes reverts you back to the Live Channels app on initial setup so choose TVirl as a source.
In the Main Menu of the TVirl settings navigate to the channels section and choose to setup a new playlist. From there you can choose to upload a local *.m3u8 file or enter a URL for a playlist. After the list is loaded you can also specify an EPG source. This is usually a link to an *.xml file with each country’s TV schedule. Google is your friend to find a source suitable for your channels list.
Once the playlist is loaded and any EPG source is added click finish. You can then return to the Live Channels app and start watching live TV.
Tip: If you are making your own playlist and using multiple devices to watch TV then you can use this service to host, easily edit your playlist and use the provided URL to link to it. TVirl can auto refresh EPG lists, however that is a premium feature of the app. You can manually refresh the lists by reloading the current playlist in settings.
EXTRA – WATCH TV ON YOUR PC/PHONE
As mentioned you can use VLC on PC or mobile to watch the TV channels in your *.m3u8 list.
There are however better alternatives, such as IPTVnator, which also supports EPG guides and auto-refreshing the URLs on startup (especially handy when you use the M3U-Editor service linked above and frequently edit your playlists).
If you want something better for mobile the GoTV app is a great app for iPhone users.
GREECE/CYPRUS USERS
I created and configured a list with free TV channels in Greece for users in Greece/Cyprus. Just copy the code below into a *.m3u8 file.
#EXTM3U
#EXTINF:-1 tvg-name="ANT1" tvg-logo="https://i.imgur.com/np0s1FN.png" group-title="Greece",ANT1
https://antennaamdnoenc.akamaized.net/ant1_akamai/abr/playlist.m3u8
#EXTINF:-1 tvg-name="STAR" tvg-logo="https://i.imgur.com/CJOtJlL.png" group-title="Greece",STAR
https://livestar.siliconweb.com/media/star1/star1mediumhd.m3u8
#EXTINF:-1 tvg-name="SKAI" tvg-logo="https://i.imgur.com/TSg7B8X.png" group-title="Greece",SKAI
https://skai-live.siliconweb.com/media/cambria4/index.m3u8
#EXTINF:900 tvg-name="MEGA" tvg-logo="https://i.imgur.com/yyp6tS5.png" group-title="Greece",MEGA
https://streamcdnm17-c98db5952cb54b358365984178fb898a.msvdn.net/live/S86713049/gonOwuUacAxM/playlist.m3u8
#EXTINF:-1 tvg-name="ALPHA" tvg-logo="https://i.imgur.com/bAVGX0l.png" group-title="Greece",ALPHA
https://alphatvlive.siliconweb.com/1/Y2Rsd1lUcUVoajcv/UVdCN25h/hls/f1yvzq9v/2728/chunklist.m3u8
#EXTINF:-1 tvg-name="OPEN BEYOND" tvg-logo="https://www.radiotvlink.com/images/logos/television-stations/open_beyond_logo_900.jpg" group-title="Greece",OPEN BEYOND
https://liveopencloud.siliconweb.com/1/ZlRza2R6L2tFRnFJ/eWVLSlQx/hls/live/playlist.m3u8
#EXTINF:-1 tvg-name="KONTRA" tvg-logo="https://i.imgur.com/zMgczHY.png" group-title="Greece",KONTRA
http://kontralive.siliconweb.com/live/kontratv/playlist.m3u8
#EXTINF:-1 tvg-id="Groovy TV" tvg-country="GR" tvg-language="Greek" tvg-logo="https://i.imgur.com/0iklNh2.png" group-title="Greece",Groovy TV
http://web.onair-radio.eu:1935/groovytv/groovytv/playlist.m3u8
#EXTINF:-1 tvg-id="Netmax TV" tvg-country="GR" tvg-language="Greek" tvg-logo="https://scontent.fnic3-1.fna.fbcdn.net/v/t1.6435-9/139790273_220887712998189_87415900372927791_n.jpg?_nc_cat=110&ccb=1-5&_nc_sid=09cbfe&_nc_ohc=UHXIV9MbnLMAX8Z66BU&_nc_ht=scontent.fnic3-1.fna&oh=00_AT_n-Lc1cIxvH_OxlFGAW2zAFgHUh0lny8Q7ixiD_0ZP2g&oe=61FF9377" group-title="Greece",Netmax TV
http://live.netmaxtv.com:8080/live/live/playlist.m3u8
#EXTINF:30 tvg-name="Reload" tvg-logo="https://www.reloadgreece.com/wp-content/uploads/2016/08/RG-Logo150px.jpg" group-title="Greece",Reload
http://web.onair-radio.eu:1935/video/video/playlist.m3u8
#EXTINF:-1 tvg-name="ERT WORLD" tvg-logo="https://i.imgur.com/RwrQKns.png" group-title="Greece",ERT WORLD
http://ert-live-bcbs15228.siliconweb.com/media/ert_world/ert_worldmedium.m3u8
#EXTINF:24 tvg-name="RIK 1" tvg-logo="http://cybc.com.cy/wp-content/uploads/admin/2018/10/rik-hd-bubble-border.png" group-title="Cyprus",RIK 1
http://l6.cloudskep.com/rikcy/rik1/playlist.m3u8
#EXTINF:23 tvg-name="RIK 2" tvg-logo="http://cybc.com.cy/wp-content/uploads/admin/2018/10/rik-hd-bubble-border.png" group-title="Cyprus",RIK 2
http://l6.cloudskep.com/rikcy/rik2/playlist.m3u8
#EXTINF:999 tvg-name="SIGMA" tvg-logo="https://www.sigmatv.com/application/themes/default/img/redesign/sigma_logo.png" group-title="Cyprus",SIGMA
https://sl2.sigmatv.com/hls/live.m3u8
#EXTINF:-1 tvg-name="EURONEWS" tvg-logo="https://i.imgur.com/4EvDoaG.png" group-title="News",EURONEWS
https://d1mpprlbe8tn2j.cloudfront.net/v1/master/7b67fbda7ab859400a821e9aa0deda20ab7ca3d2/euronewsLive/87O7AhxRUdeeIVqf/ewnsabren_eng.m3u8
#EXTINF:46 tvg-logo="https://photos.live-tv-channels.org/tv-logo/us-bloomberg-tv-europe.jpg" group-title="News" ,Bloomberg TV
https://liveprodeuwest.akamaized.net/eu1/Channel-EUTVqvs-AWS-ireland-1/Source-EUTVqvs-1000-1_live.m3u8
#EXTINF:60 tvg-logo="https://media.info/i/lf/0/1443114332/1417.png" group-title="News",France 24
http://f24hls-i.akamaihd.net/hls/live/221147/F24_EN_HI_HLS/master.m3u8
#EXTINF:20 tvg-logo="https://2.bp.blogspot.com/-5i59zamv-nc/TXUKASENJhI/AAAAAAAAmqY/kXJy2j4w3B8/s1600/Russia_Today.jpg" group-title="News",RT News
https://rt-glb.gcdn.co/live/rtnews/playlist.m3u8
#EXTINF:36 tvg-logo="https://luxpro.mc/wp-content/uploads/2019/03/wfc.jpg" group-title="News",World Fashion Channel
https://wfcint.mediacdn.ru/cdn/wfcintweb/playlist.m3u8
You can also use the EPG URL below to get a working and continuously updated TV schedule for channels in Greece/Cyprus.
https://github.com/GreekTVApp/epg-greece-cyprus/releases/download/EPG/epg.xml
Enjoy!!!