Open elv-gerald opened 10 months ago
Here is what the playlist will look like in case you need an example. This failover feature is ONLY for hls playlist.txt
I need a key to access this stream in app so I can see how the players handle failover, can you give me details?
this is what these 4 audio tracks look like, there's nothing that differentiates any of them from normal audio tracks.
[
{
"attrs": {
"TYPE": "AUDIO",
"GROUP-ID": "audio1",
"CHANNELS": "2",
"NAME": "audio",
"STABLE-RENDITION-ID": "audioaudio_aac@192000",
"CODECS": "mp4a.40.2",
"DEFAULT": "YES",
"AUTOSELECT": "YES",
"URI": "audio/audioaudio_aac@192000/live.m3u8?rec_seq=2&sid=C4991623EF27"
},
"bitrate": 0,
"id": 0,
"groupId": "audio1",
"name": "audio",
"type": "AUDIO",
"default": true,
"autoselect": true,
"forced": false,
"url": "https://host-76-74-28-234.contentfabric.io/qlibs/ilib2HWBxwsXrgtRzgMVVxAzm1oPH53U/q/hq__JBNacniLZg8H3JEWapti5j9Lp9BSfFrXz4D83P1ahsV7852zhMWjqy4AQ6gmgxz8UEnFrwLbaw/rep/playout/default/hls-clear/audio/audioaudio_aac@192000/live.m3u8?rec_seq=2&sid=C4991623EF27",
"audioCodec": "mp4a.40.2",
"details": {}
},
{
"attrs": {
"TYPE": "AUDIO",
"GROUP-ID": "audio2",
"CHANNELS": "2",
"NAME": "audio",
"STABLE-RENDITION-ID": "audioaudio_aac@192000",
"CODECS": "mp4a.40.2",
"DEFAULT": "YES",
"AUTOSELECT": "YES",
"URI": "https://host-76-74-28-233.contentfabric.io/qlibs/ilib2HWBxwsXrgtRzgMVVxAzm1oPH53U/q/hq__JBNacniLZg8H3JEWapti5j9Lp9BSfFrXz4D83P1ahsV7852zhMWjqy4AQ6gmgxz8UEnFrwLbaw/rep/playout/default/hls-clear/audio/audioaudio_aac@192000/live.m3u8?rec_seq=2&sid=C4991623EF27"
},
"bitrate": 0,
"id": 0,
"groupId": "audio2",
"name": "audio",
"type": "AUDIO",
"default": true,
"autoselect": true,
"forced": false,
"url": "https://host-76-74-28-233.contentfabric.io/qlibs/ilib2HWBxwsXrgtRzgMVVxAzm1oPH53U/q/hq__JBNacniLZg8H3JEWapti5j9Lp9BSfFrXz4D83P1ahsV7852zhMWjqy4AQ6gmgxz8UEnFrwLbaw/rep/playout/default/hls-clear/audio/audioaudio_aac@192000/live.m3u8?rec_seq=2&sid=C4991623EF27",
"audioCodec": "mp4a.40.2",
"details": {}
},
{
"attrs": {
"TYPE": "AUDIO",
"GROUP-ID": "audio3",
"CHANNELS": "2",
"NAME": "audio",
"STABLE-RENDITION-ID": "audioaudio_aac@192000",
"CODECS": "mp4a.40.2",
"DEFAULT": "YES",
"AUTOSELECT": "YES",
"URI": "https://host-76-74-28-235.contentfabric.io/qlibs/ilib2HWBxwsXrgtRzgMVVxAzm1oPH53U/q/hq__JBNacniLZg8H3JEWapti5j9Lp9BSfFrXz4D83P1ahsV7852zhMWjqy4AQ6gmgxz8UEnFrwLbaw/rep/playout/default/hls-clear/audio/audioaudio_aac@192000/live.m3u8?rec_seq=2&sid=C4991623EF27"
},
"bitrate": 0,
"id": 0,
"groupId": "audio3",
"name": "audio",
"type": "AUDIO",
"default": true,
"autoselect": true,
"forced": false,
"url": "https://host-76-74-28-235.contentfabric.io/qlibs/ilib2HWBxwsXrgtRzgMVVxAzm1oPH53U/q/hq__JBNacniLZg8H3JEWapti5j9Lp9BSfFrXz4D83P1ahsV7852zhMWjqy4AQ6gmgxz8UEnFrwLbaw/rep/playout/default/hls-clear/audio/audioaudio_aac@192000/live.m3u8?rec_seq=2&sid=C4991623EF27",
"audioCodec": "mp4a.40.2",
"details": {}
},
{
"attrs": {
"TYPE": "AUDIO",
"GROUP-ID": "audio4",
"CHANNELS": "2",
"NAME": "audio",
"STABLE-RENDITION-ID": "audioaudio_aac@192000",
"CODECS": "mp4a.40.2",
"DEFAULT": "YES",
"AUTOSELECT": "YES",
"URI": "https://host-76-74-28-227.contentfabric.io/qlibs/ilib2HWBxwsXrgtRzgMVVxAzm1oPH53U/q/hq__JBNacniLZg8H3JEWapti5j9Lp9BSfFrXz4D83P1ahsV7852zhMWjqy4AQ6gmgxz8UEnFrwLbaw/rep/playout/default/hls-clear/audio/audioaudio_aac@192000/live.m3u8?rec_seq=2&sid=C4991623EF27"
},
"bitrate": 0,
"id": 0,
"groupId": "audio4",
"name": "audio",
"type": "AUDIO",
"default": true,
"autoselect": true,
"forced": false,
"url": "https://host-76-74-28-227.contentfabric.io/qlibs/ilib2HWBxwsXrgtRzgMVVxAzm1oPH53U/q/hq__JBNacniLZg8H3JEWapti5j9Lp9BSfFrXz4D83P1ahsV7852zhMWjqy4AQ6gmgxz8UEnFrwLbaw/rep/playout/default/hls-clear/audio/audioaudio_aac@192000/live.m3u8?rec_seq=2&sid=C4991623EF27",
"audioCodec": "mp4a.40.2",
"details": {}
}
]
Added @elv-peter to this. He will have a better idea of this on an implementation level.
however, it looks like elv-player handles audio track switching differently. I think the stream sample does it in a way that digs too much into the internals of hls.js
I will switch it to use the same as elv-player-js, no need to change anything I think
this is fixed on demo. I've got another ticket (https://github.com/qluvio/elv-apps-projects/issues/233) that's waiting on some changes to the embed player to be deployed before I can update prod
Probably not needed, but I think the STABLE-RENDITION-ID
is the same for redundant streams.
We are adding a new feature for live streaming that allows for failover urls included in the master playlist. I noticed whenever I am watching a stream from a node that has failover enabled, the display tab lists multiple audios even though they are fail over audios.
I have this build deployed to sv3-003. Here is test stream that is running 24/7 and is public if you want to test. Let me know if it goes down.