This commit is contained in:
deathbybandaid 2020-12-15 10:54:15 -05:00
parent afbd590eff
commit 0bd569286b
2 changed files with 31 additions and 2 deletions

View File

@ -1,3 +1,4 @@
import m3u8
class OriginChannels(): class OriginChannels():
@ -44,9 +45,31 @@ class OriginChannels():
return channel_list return channel_list
def get_channel_stream(self, chandict): def get_channel_stream(self, chandict):
streamurl = "" chan_item_url = "%s/status/%s" % (self.base_api_url, str(chandict["origin_id"]))
chan_item_urlopn = self.fhdhr.web.session.get(chan_item_url)
stirr_chan_item = chan_item_urlopn.json()
streamurl = stirr_chan_item['rss']["channel"]["item"]["link"]
if self.fhdhr.config.dict["origin"]["force_best"]:
streamurl = self.m3u8_beststream(streamurl)
return streamurl return streamurl
def m3u8_beststream(self, m3u8_url):
bestStream = None
videoUrlM3u = m3u8.load(m3u8_url)
if not videoUrlM3u.is_variant:
return m3u8_url
for videoStream in videoUrlM3u.playlists:
if not bestStream:
bestStream = videoStream
elif videoStream.stream_info.bandwidth > bestStream.stream_info.bandwidth:
bestStream = videoStream
if not bestStream:
return bestStream.absolute_uri
else:
return m3u8_url
""" """
{ {

View File

@ -40,5 +40,11 @@
"config_web": false "config_web": false
} }
}, },
"stirr":{} "stirr":{
"force_best":{
"value": false,
"config_file": true,
"config_web": true
}
}
} }