gocast icon indicating copy to clipboard operation
gocast copied to clipboard

Replace Worker with Runner

Open joschahenningsen opened this issue 1 year ago • 1 comments

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:

  • 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

joschahenningsen avatar Nov 12 '23 12:11 joschahenningsen