The current worker implementation is hard to maintain, we therefore want to replace it with the new runner. The goal is to have a clean code base that replaces everything the worker does.
todos:
All API endpoints the current worker offers should be available in the runner
[x] Request Stream
[x] Request Stream End
[ ] Generate live preview
[ ] Generate Section images
[ ] Delete Section images (low prio)
[ ] Combine Thumbnails
All API endpoints TUM-Live currently offers for the runner
[x] Register
[x] Heartbeat (nice to have)
[ ] request selfstream
[ ] notify vodUpload finished
[ ] Notify Silence results
[x] Notify Stream Started
[ ] Notify Thumbnails finished
[ ] Get stream info for upload
[ ] notify Transcoding Failure
Functionality wise, the runner should:
When request stream is called:
grab the url with ffmpeg and create a hls stream on disk and notify tum-live that the stream is available
After the stream is done, convert the files, append them together and upload them to the vod service.
create a thumbnail and the thumnails for the seekbar
detect silences in the video and send them to tum-live (not high prio for now)
when a vod is uploaded, everything that happens after a livestream should also happen to the uploaded file
when a selfstreamer starts streaming
ask tum-live for the details of the token and continue just like with a normal stream
Motivation and Context
The current worker implementation is hard to maintain, we therefore want to replace it with the new runner. The goal is to have a clean code base that replaces everything the worker does.
todos:
Functionality wise, the runner should: