summaryrefslogtreecommitdiffstats
path: root/skripti/live_hls_archiver.py
diff options
context:
space:
mode:
Diffstat (limited to 'skripti/live_hls_archiver.py')
-rwxr-xr-xskripti/live_hls_archiver.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/skripti/live_hls_archiver.py b/skripti/live_hls_archiver.py
new file mode 100755
index 0000000..f3d1498
--- /dev/null
+++ b/skripti/live_hls_archiver.py
@@ -0,0 +1,24 @@
+#!/usr/bin/python3
+# skript je napisan za rtv stream in pričakuje na argv[1] tak hls, kot ga dobimo na http://z.4a.si/rtv.php?kanal=tv.slo1
+# shranjuje v trenutni direktorij
+from sys import argv
+from time import sleep
+from os import path, rename
+import requests
+import m3u8
+def main():
+ while True:
+ playlist = m3u8.loads(requests.get(argv[1]).text, uri=argv[1])
+ for segment in playlist.segments:
+ filename = segment.program_date_time.isoformat() + "." + next(reversed(segment.uri.split("?")[0].split(".")));
+ if not path.exists(filename):
+ print("prenašam " + filename)
+ temp_filename = "temp_"+argv[0].replace("/", "")
+ open(temp_filename, "wb").write(requests.get(segment.uri).content)
+ rename(temp_filename, filename)
+ try:
+ sleep(playlist.target_duration)
+ except TypeError:
+ sleep(1)
+if __name__ == "__main__":
+ main()