From f583b2d28ebdfa61283f68995b729e1f17aa5148 Mon Sep 17 00:00:00 2001 From: Johannes Trum Date: Wed, 29 Mar 2017 22:46:22 +0200 Subject: [PATCH] feat(msl): Adds subtiles to dash manifest --- resources/lib/MSL.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/resources/lib/MSL.py b/resources/lib/MSL.py index 83a06ee..4094113 100644 --- a/resources/lib/MSL.py +++ b/resources/lib/MSL.py @@ -152,9 +152,13 @@ class MSL: # Audio 'heaac-2-dash', + + #subtiltes 'dfxp-ls-sdh', - 'simplesdh', - 'nflx-cmisc', + #'simplesdh', + #'nflx-cmisc', + + #unkown 'BIF240', 'BIF320' ], @@ -349,6 +353,26 @@ class MSL: segment_base = ET.SubElement(rep, 'SegmentBase', indexRange="0-"+str(init_length), indexRangeExact="true") ET.SubElement(segment_base, 'Initialization', range='0-'+str(init_length)) + # Multiple Adaption Set for subtiles + for text_track in manifest['textTracks']: + print text_track + if 'downloadables' not in text_track or text_track['downloadables'] is None: + continue + subtiles_adaption_set = ET.SubElement(period, 'AdaptationSet', + lang=text_track['bcp47'], + contentType='text', + mimeType='text/vtt') + for downloadable in text_track['downloadables']: + rep = ET.SubElement(subtiles_adaption_set, 'Representation', + bandwidth='0', + nflxProfile=downloadable['contentProfile'] + ) + print downloadable['urls'] + ET.SubElement(rep, 'BaseURL').text = self.__get_base_url(downloadable['urls']) + + + + xml = ET.tostring(root, encoding='utf-8', method='xml') xml = xml.replace('\n', '').replace('\r', '') -- 2.30.2