From fe7427a1f2bc833e8429b4d8f381ba4d0aa4d0b6 Mon Sep 17 00:00:00 2001 From: Markos Gogoulos Date: Mon, 3 Jul 2023 12:19:23 +0300 Subject: [PATCH] check resolution for HLS (#832) --- files/models.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/files/models.py b/files/models.py index 8981cc2..1d539cc 100644 --- a/files/models.py +++ b/files/models.py @@ -818,6 +818,7 @@ class Media(models.Model): """ res = {} + valid_resolutions = [240, 360, 480, 720, 1080, 1440, 2160] if self.hls_file: if os.path.exists(self.hls_file): hls_file = self.hls_file @@ -829,11 +830,20 @@ class Media(models.Model): uri = os.path.join(p, iframe_playlist.uri) if os.path.exists(uri): resolution = iframe_playlist.iframe_stream_info.resolution[1] + # most probably video is vertical, getting the first value to + # be the resolution + if resolution not in valid_resolutions: + resolution = iframe_playlist.iframe_stream_info.resolution[0] + res["{}_iframe".format(resolution)] = helpers.url_from_path(uri) for playlist in m3u8_obj.playlists: uri = os.path.join(p, playlist.uri) if os.path.exists(uri): resolution = playlist.stream_info.resolution[1] + # same as above + if resolution not in valid_resolutions: + resolution = playlist.stream_info.resolution[0] + res["{}_playlist".format(resolution)] = helpers.url_from_path(uri) return res