restreamer: Hack in a path to re-stream "last 20 seconds", for live 'replays'

downloader/follow-game
Mike Lang 6 years ago
parent e351aff176
commit eb33711ff8

@ -225,6 +225,27 @@ def generate_media_playlist(stream, variant):
return generate_hls.generate_media(segments, os.path.join(app.static_url_path, stream, variant))
@app.route('/replay/<stream>/<variant>.m3u8')
@has_path_args
def replay(stream, variant):
hours_path = os.path.join(app.static_folder, stream, variant)
if not os.path.isdir(hours_path):
abort(404)
start = datetime.datetime.utcnow() - datetime.timedelta(seconds=20)
end = datetime.datetime.utcnow() - datetime.timedelta(seconds=5)
segments = get_best_segments(hours_path, start, end)
if segments == [None]:
print "No replay, serving placeholder"
stream, variant = 'ekimekim', 'source'
segments = get_best_segments(os.path.join(app.static_folder, stream, variant),
datetime.datetime(2019, 5, 14, 9, 58, 46),
datetime.datetime(2019, 5, 14, 9, 58, 48),
)
return generate_hls.generate_media(segments, os.path.join(app.static_url_path, stream, variant))
@app.route('/cut/<stream>/<variant>.ts')
@stats
@has_path_args

Loading…
Cancel
Save