From d2209806567ae80b2833292545e0d1a24352deab Mon Sep 17 00:00:00 2001 From: Matt Huisman Date: Sat, 6 Jul 2019 22:49:14 +1200 Subject: [PATCH] Add seek support. Parse extra tvh commands to ffmpeg --- iptv_merge.m3u8.sh | 0 proxy | 0 proxy.py | 12 ++++++++++-- tvh.sh | 5 +++-- 4 files changed, 13 insertions(+), 4 deletions(-) mode change 100644 => 100755 iptv_merge.m3u8.sh mode change 100644 => 100755 proxy diff --git a/iptv_merge.m3u8.sh b/iptv_merge.m3u8.sh old mode 100644 new mode 100755 diff --git a/proxy b/proxy old mode 100644 new mode 100755 diff --git a/proxy.py b/proxy.py index e98b750..cf151aa 100755 --- a/proxy.py +++ b/proxy.py @@ -570,6 +570,9 @@ def ListItem_addContextMenuItems(self, items, replaceItems=False): def ListItem_setProperty(self, key, value): self._data['property'][key] = value +def ListItem_getProperty(self, key): + return self._data['property'].get(key, '') + def ListItem_setPath(self, path): self._data['path'] = path @@ -625,6 +628,7 @@ def Window_save(self): xbmcgui.ListItem.addStreamInfo = ListItem_addStreamInfo xbmcgui.ListItem.addContextMenuItems = ListItem_addContextMenuItems xbmcgui.ListItem.setProperty = ListItem_setProperty +xbmcgui.ListItem.getProperty = ListItem_getProperty xbmcgui.ListItem.setPath = ListItem_setPath xbmcgui.ListItem.getPath = ListItem_getPath xbmcgui.ListItem.__str__ = ListItem_str @@ -727,10 +731,14 @@ def output_tvh(listitem): else: url, headers = path, '' + seek = listitem.getProperty('ResumeTime') + if seek: + seek = '-ss {}'.format(seek) + if name: - name = "-metadata service_name='{name}' ".format(name=name) + name = "-metadata service_name='{}'".format(name) - print("-loglevel fatal {headers}-i '{url}' -vcodec copy -acodec copy {name}-f mpegts pipe:1".format(headers=headers, url=url, name=name)) + print("-loglevel fatal {headers} {seek} -i '{url}' {name}".format(headers=headers, seek=seek, url=url, name=name)) sys.exit(200) def addSortMethod(handle, sortMethod, label2Mask=""): diff --git a/tvh.sh b/tvh.sh index d891f08..c860e87 100755 --- a/tvh.sh +++ b/tvh.sh @@ -6,7 +6,8 @@ SCRIPT_PATH="$(dirname $SCRIPT)" OUTPUT="$(proxy_type=TVH $SCRIPT_PATH/.env/bin/python $SCRIPT_PATH/proxy.py $1)" if [ $? -eq 200 ]; then - eval "ffmpeg $OUTPUT" + shift + eval "ffmpeg $OUTPUT $@ -vcodec copy -acodec copy -f mpegts pipe:1" else echo "$OUTPUT" -fi \ No newline at end of file +fi