Found via each station's own official "diretta/streaming" page, following
embedded iframes/JS one level deeper to the real .m3u8. No hosting
infrastructure was brute-forced. Verified 3x each with check_channels.py,
all consistently alive:
- Travel TV, Donna TV, Alma TV, Italia 7, Lazio Tv, Gold Tv: new
5f11919dca3bd.streamlock.net host (old streaming.softwarecreation.it
provider dead)
- Calabria Uno Tv: same host, working path (ngrp: prefix dropped)
- Canale 21 / Canale 21 Extra: new encoders.immergo.tv provider (old
msvdn.net dead)
- Fascino Tv, Motori Tv: new 64b16f23efbee.streamlock.net host
- Ran Friul: azotosolutions.com load-balancer (old streamlock.net host dead)
- Love in Venice: same host, working path (.stream suffix added)
- Mediterranea Tv: new xdevel.com stream (old aswifi.it dead)
Castrovillari Tv and Cittaceleste Tv are still on their original URLs
unchanged - the outage looks to have been transient, both returned
live content again on retest.
Sportitalia SOLOCALCIO: found a candidate at
distribution.sportitalialive.it/sportitalia/sisolocalcio_abr/playlist.m3u8
(hardcoded in the official player page), but it returns 403 from here -
looks like a datacenter/ASN block rather than a bad URL, so left
unchanged rather than swap in something equally unverifiable.
19 other stations were also researched but had no findable working
replacement (parked/dead domain, JS-rendered player with no static URL,
or the official embed itself already dead) - left unchanged.
Issue #483: these circled-letter suffixes are in-list markers for
human readers (subscription-required, geo-blocked, YouTube-sourced,
etc.), but were leaking into the generated tvg-name verbatim (e.g.
tvg-name="Rai 1 Ⓖ"), breaking EPG matching for any provider keying
off channel name. Now stripped from tvg-name only; the display name
after the comma still shows the marker as before.
- Telenorba was added via YouTube live (issue #1015 asked for the
play.telenorba.it site). That site is a JS SPA; traced its player
bundle to play.norbaonline.it, which resolves to the same
live-telenorba.cdn.netrw.it CDN already used by Antenna Sicilia.
Swapped in the direct HLS master playlist.
- Added TG Norba 24 as a separate channel (same CDN, different path),
with its Wikimedia Commons logo.
- Antenna Sud / Antenna Sud Extra (live.antennasudwebtv.it:9443) now
time out; replaced with working URLs from the sibling
live-antennasud.cdn.netrw.it CDN.
- New lists/turkmenistan.md: all 8 national channels from issue #1023,
verified working.
- Italy: added Telenorba (Puglia regional) via its YouTube live
channel, the given URL was an HTML embed page not a stream. #1015
- France: added Handicap TV, verified working. #1049
- North Macedonia: the MRT public broadcaster channels use Windows
Media auth tokens with validminutes=30 baked into the URL - they
expire 30 minutes after being generated regardless of viewer
location, so no static URL can fix them. Moved 10 other dead
channels (timeout/404, no replacement found) to Invalid. #1025
* Add channel number to M3U line formatting
Add tvg-chno support using channel number from markdown lists
- Extract channel number from md lists
- Add tvg-chno attribute to M3U output
- Skip invalid values (e.g. 0)
Improves channel ordering in IPTV clients like Jellyfin
* Update make_playlist.py
Add tvg-chno support using channel number from markdown lists
- Extract channel number from md lists
- Add tvg-chno attribute to M3U output
- Skip invalid values (e.g. 0)
Improves channel ordering in IPTV clients like Jellyfin
* Delete playlists/playlist_italy.m3u8
delete italy playlist for updating with channel number
* Italy playlist updated with channel number
Add ISO 3166-1 alpha-2 country codes via tvg-country attribute
to all #EXTINF lines, enabling IPTV players to filter and display
channels by country.
Co-authored-by: Kálmán „KAMI” Szalai <kami911gmail.com>