Potential bug on custom channels / reloading m3u

i'm working on the radio feeds for the mlb container...the way i have it configured now, the radio feeds are on a separate URL. hence, the m3u is going to change if you want to add the radio feeds...

i have them my container set up to never reload m3u, which makes sense because that's not likely to change under normal circumstances, unless you change the team order. however, it's causing issues at the moment because it appears to not even reload the m3u if i tell it to do so manually...it's still loading the video with the default audio, not the radio feeds that it should be loading.

HLS logs indicate it's still loading the old playlist, not the updated one (even though i manually tried to reload it from the settings).

if i run the same m3u in tivimate, i'm getting the radio feeds which is what i'd expect. in channels, i'm still getting the default video feed.

any ideas?

definitely something weird going on here. i created a second container for my radio feeds testing, and added a second set of channels to my dvr (with different channel numbers). i go to those new channel numbers, and i'm STILL getting the default audio feeds in channels. tivimate (when using the new container address), again, has the radio feeds...as i'd expect.

looking at the logs, and i can see that channels is pulling from the correct new container address...so it seems that channels is for some reason ignoring the alternate audio that is in the m3u8.

1 Like

are the channel-id unique?

that was probably the original problem, yes...I fixed that though. see below:

#EXTM3U 
#EXTINF:-1, channel-id="mlb-nym" channel-number="777.1" tvg-id="mlb-nym" tvg-name="NYM" tvg-logo="http://192.168.88.142/images/channel-logos/nym.png", New York Mets 
http://192.168.88.142/playlist/NYM 
#EXTINF:-1, channel-id="mlb-nym-radio" channel-number="777.2" tvg-id="mlb-nym-radio" tvg-name="NYM Radio" tvg-logo="http://192.168.88.142/images/channel-logos/nym.png", New York Mets Radio 
http://192.168.88.142/playlist/NYM/radio

both of these are pulling the correct address, but the second one is ignoring the secondary audio. I think that's the bigger issue here.

1 Like

Can you show what's in both of the playlists, or what VLC sees for stream codecs when opening both of them?

Correct me if I'm wrong, but shouldn't you be pointing to m3u or m3u8 sources here?

they are m3u8 sources. just because it doesn't have the m3u8 on the end of the url doesn't mean they're not valid playlists.

this is the radio playlist. the other one is the same playlist the container has been producing since the beginning (which is the video playlist at whatever bitrate you specify in the container)...and is what is being referenced in this playlist. the whole point of this playlist is to use the video we already have authenticated for, and just overlay the radio on top of it. it works exactly as you'd expect in tivimate and kodi (and vlc for that matter), but channels ignores the second audio track.

#EXTM3U
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="en",NAME="English",AUTOSELECT=NO
#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="cc",LANGUAGE="en",NAME="English",INSTREAM-ID="CC1",AUTOSELECT=NO
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",NAME="English Radio",LANGUAGE="en",AUTOSELECT=YES,DEFAULT=YES,URI="http://192.168.88.142/radio/SDP"
#EXT-X-STREAM-INF:BANDWIDTH=6600000,RESOLUTION=1280x720,FRAME-RATE=59.94,CODECS="mp4a.40.2,avc1.640028",CLOSED-CAPTIONS="cc",AUDIO="aac"
http://192.168.88.142/playlist/SDP
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=62000,RESOLUTION=384x216,CODECS="avc1.4d001f,mp4a.40.2",URI="514K/514_complete_iframe.m3u8"
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=295000,RESOLUTION=960x540,CODECS="avc1.4d001f,mp4a.40.2",URI="2500K/2500_complete_iframe.m3u8"

I'm sure it's something simple, but reading RFC's makes my head spin and I don't know how closely Channels DVR complies. Could be as simple as EXT-X-VERSION.

https://developer.apple.com/documentation/http_live_streaming/about_the_common_media_application_format_with_http_live_streaming

the playlist I'm giving is exactly what comes from MLB, just with the container address swapped in since that's what does the authentication.

Just meant that by adding this line you created a Rendition Group

i didn't add anything. that came from MLB, the only thing i did was change the address to point to the container (like i said), and switch the secondary audio to be the default and autoselect (and at the same time make the default audio autoselect=no, in the line above).

you can keep digging if you want, but the fact that every other player i've tried plays it fine while channels does not leads me to believe there's nothing wrong with the playlist. this is an issue with channels ignoring the secondary audio.

The first AUDIO with matching GROUP-ID is used. You could modify the group so only the radio matches.

tried that, didn't work. it still played the audio track that comes with the video stream.

just modified it to change the default audio group (and leave the radio feed so it will match the video group)...doing it that way, it won't play at all. the entire stream crashes.

2022/05/30 16:37:35.082328 [TNR] Opened connection to M3U-mlbtvwithradio for ch777.2 New York Mets Radio
2022/05/30 16:37:35.097686 [HLS] Starting live stream for channel 777.2 from 192.168.88.74 (bitrate=6600)
2022/05/30 16:37:35.114167 [ERR] Failed to clean up /shares/DVR/Streaming/ch777.2-dANY-ip192.168.88.74-1837820782: unlinkat /shares/DVR/Streaming/ch777.2-dANY-ip192.168.88.74-1837820782/cache/.nfs000000000000d87a00000050: device or resource busy
2022/05/30 16:37:35.124006 [HLS] ffmpeg: ch777.2-dANY-ip192.168.88.74-remux:  pipe:: could not find codec parameters
2022/05/30 16:37:35.172991 [TNR] Closed connection to M3U-mlbtvwithradio for ch777.2 New York Mets Radio

So the main ts files have audio, and then there's two more audio alternates?

there are alternates that MLB includes with the main video playlist, but it's only home audio. i am trying to overlay just the regular MLB audio feed, so that you can have the road announcers (if you so choose) with the FOX regional games. all i'm doing is just authenticating like i always have, but instead of the video feed i'm pulling the audio feed for whatever team is being requested, and including that as a "secondary" audio track (although i'm setting it to default in the playlist, which should technically make the default audio secondary).

it works in other players but not in channels.

Just to clarify "other players", have you tried in mpv? After all, mpv is the player that Channels bases their clients on ...

i have not, but i've tried vlc, tivimate, and kodi. all work (except kodi on my CCGTV has issues decoding it sometimes for some reason, kodi on my phone works fine).

So you check if it works in programs unrelated to Channels, but won't check if it works in the media player that Channels uses?

A bug report/issue made downstream with details would certainly help the cause ...

I appreciate the condescending reply, as if I haven't tested it anywhere and am just winging it.

also, there's no m1 version of mpv for me to test it on, thanks.

Of course there is. Check out IINA