|
@@ -25,7 +25,9 @@ def main(apiArg, recordArg):
|
|
|
global record
|
|
|
global isRecording
|
|
|
global currentDate
|
|
|
- currentDate = getDate()
|
|
|
+ global currentTime
|
|
|
+ currentTime = str(int(time.time()))
|
|
|
+ currentDate = time.strftime("%Y%m%d")
|
|
|
isRecording = False
|
|
|
api = apiArg
|
|
|
record = recordArg
|
|
@@ -42,9 +44,11 @@ def recordStream(broadcast):
|
|
|
or broadcast.get('dash_abr_playback_url')
|
|
|
or broadcast['dash_playback_url'])
|
|
|
|
|
|
+ outputDir = '{}_{}_{}_{}_downloads/'.format(currentDate ,record, broadcast['id'], currentTime)
|
|
|
+
|
|
|
dl = live.Downloader(
|
|
|
mpd=mpd_url,
|
|
|
- output_dir='{}_{}_{}_downloads/'.format(currentDate ,record, broadcast['id']),
|
|
|
+ output_dir=outputDir,
|
|
|
user_agent=api.user_agent,
|
|
|
max_connection_error_retry=2,
|
|
|
duplicate_etag_retry=60,
|
|
@@ -63,8 +67,15 @@ def recordStream(broadcast):
|
|
|
if started_secs:
|
|
|
started_label += '%d seconds' % started_secs
|
|
|
cLogger.log('[I] Starting broadcast recording:', "GREEN")
|
|
|
- cLogger.log('[I] Viewers: ' + str(int(viewers)) + " watching", "GREEN")
|
|
|
- cLogger.log('[I] Missing: ' + started_label, "GREEN")
|
|
|
+ last_stream = open("last_stream.html", "w")
|
|
|
+ last_stream.write('<b>Username:</b> {}<br><b>MPD URL:</b> <a href="{}">LINK</a><br><b>Viewers:</b> {}<br><b>Missing:</b> {}'
|
|
|
+ .format(record, mpd_url, str(int(viewers)), started_label))
|
|
|
+ last_stream.close()
|
|
|
+ cLogger.log('[I] Username : ' + record, "GREEN")
|
|
|
+ cLogger.log('[I] MPD URL : ' + mpd_url, "GREEN")
|
|
|
+ cLogger.log('[I] Viewers : ' + str(int(viewers)) + " watching", "GREEN")
|
|
|
+ cLogger.log('[I] Missing : ' + started_label, "GREEN")
|
|
|
+ cLogger.log('[I] Recording broadcast...', "GREEN")
|
|
|
dl.run()
|
|
|
stitchVideo(dl, broadcast)
|
|
|
except KeyboardInterrupt:
|
|
@@ -77,7 +88,7 @@ def recordStream(broadcast):
|
|
|
def stitchVideo(dl, broadcast):
|
|
|
isRecording = False
|
|
|
cLogger.log('[I] Stitching downloaded files into video...', "GREEN")
|
|
|
- output_file = currentDate + "_" + record + "_" + str(broadcast['id']) + ".mp4"
|
|
|
+ output_file = '{}_{}_{}_{}.mp4'.format(currentDate ,record, broadcast['id'], currentTime)
|
|
|
dl.stitch(output_file, cleartempfiles=False)
|
|
|
cLogger.log('[I] Successfully stitched downloaded files!', "GREEN")
|
|
|
cLogger.seperator("GREEN")
|
|
@@ -110,7 +121,4 @@ def getBroadcast(user_id):
|
|
|
if (e.__name__ is not NoBroadcastException):
|
|
|
cLogger.log('[E] Could not get broadcast info: ' + str(e), "RED")
|
|
|
cLogger.seperator("GREEN")
|
|
|
- sys.exit(0)
|
|
|
-
|
|
|
-def getDate():
|
|
|
- return time.strftime("%Y%m%d")
|
|
|
+ sys.exit(0)
|