xteve-project / xTeVe

M3U Proxy for Plex DVR and Emby Live TV
MIT License
1.86k stars 238 forks source link

Can #EXTINF `radio="true"` be put through to the output? (Good to distinguish Radio & TV channels, KODI uses that) #375

Open Moonbase59 opened 1 year ago

Moonbase59 commented 1 year ago

Is your feature request related to a problem? Please describe.

I have M3Us that contain the radio="true" tag in the #EXTINF line, see also https://github.com/Moonbase59/azuracast_xmltv#usage under "-r/--radio option":

Example:

#EXTINF:-1 tvg-name="/radio.mp3 (128kbps MP3)" tvg-id="azuratest-radio.demo.azuracast.com" group-title="AzuraTest Radio" radio="true" tvg-logo="https://demo.azuracast.com/api/station/1/art/0",/radio.mp3 (128kbps MP3)

Now in xTeVe’s output xteve.m3u, this becomes:

#EXTINF:0 channelID="x-ID.333" tvg-chno="1333" tvg-name="/radio.mp3 (128kbps MP3)" tvg-id="1333" tvg-logo="https://demo.azuracast.com/api/station/1/art/0" group-title="AzuraTest Radio",/radio.mp3 (128kbps MP3)
http://media:34400/stream/6bef7f2ae5d9b7480e98c5954404a564

The radio="true" gets lost.

Now some software (notably KODI) uses this to distinguish between Radio and TV channels, displaying them under entirely different menus.

I’d very much like to keep using xTeVe to aggregate my different M3U and XML, but still have Radio and TV separated in my KODI.

Do you see any chance to implement this in xTeVe?

Describe the solution you'd like Pass the radio="true" flag through to xTeVe’s output M3U.

Describe alternatives you've considered Not use xTeVe. Bad thing, would have to add many M3U tuners and XML EPGs into all different programs (Jellyfin, KODI, etc.).

Additional context

Example M3U generated by my azuracast_xmltv that has Radio- and TV-channels (URIs changed):

#EXTM3U url-tvg="https://example.com/xmltv/example.com.xml" x-tvg-url="https://example.com/xmltv/example.com.xml"
#EXTINF:-1 tvg-name="Nite Radio (128kbps AAC)" tvg-id="niteradio.example.com" group-title="Nite Radio" radio="true" tvg-logo="https://example.com/api/station/1/art/0",Nite Radio (128kbps AAC)
https://example.com/listen/niteradio/radio.aac
#EXTINF:-1 tvg-name="Firefox Test (MP3)" tvg-id="niteradio.example.com" group-title="Nite Radio" radio="true" tvg-logo="https://example.com/api/station/1/art/0",Firefox Test (MP3)
https://example.com/listen/niteradio/firefox_test.mp3
#EXTINF:-1 tvg-name="Firefox Test (no Xing Header) (MP3)" tvg-id="niteradio.example.com" group-title="Nite Radio" radio="true" tvg-logo="https://example.com/api/station/1/art/0",Firefox Test (no Xing Header) (MP3)
https://example.com/listen/niteradio/firefox_test_no_xing.mp3
#EXTINF:-1 tvg-name="Nite Radio (128kbps MP3)" tvg-id="niteradio.example.com" group-title="Nite Radio" radio="true" tvg-logo="https://example.com/api/station/1/art/0",Nite Radio (128kbps MP3)
https://example.com/listen/niteradio/radio.mp3
#EXTINF:-1 tvg-name="Nite Radio (HLS)" tvg-id="niteradio.example.com" group-title="Nite Radio" radio="true" tvg-logo="https://example.com/api/station/1/art/0",Nite Radio (HLS)
https://example.com/hls/niteradio/live.m3u8
#EXTINF:-1 tvg-name="Nite Radio Testbild" tvg-id="niteradio.example.com" group-title="Nite Radio" tvg-logo="https://example.com/api/station/1/art/0",Nite Radio Testbild
https://example.com/listen/niteradio/testbild.m2t
#EXTINF:-1 tvg-name="Nite Radio Video-Stream" tvg-id="niteradio.example.com" group-title="Nite Radio" tvg-logo="https://example.com/api/station/1/art/0",Nite Radio Video-Stream
https://example.com/listen/niteradio/video.m2t

The last two entries are video streams, all other radio streams. KODI separates them nicely under the "Radio" and "TV" menus, if I directly use this M3U, but does not when I use xTeVe’s M3U.

Many other IPTV M3U lists also use this format, for instance the kodinerds Radio List for Germany.