TUM-Dev / gocast

TUMs lecture streaming service.
https://live.rbg.tum.de/
MIT License
178 stars 42 forks source link

Skip initial silence #1262

Closed Mjaethers closed 5 months ago

Mjaethers commented 7 months ago

Motivation and Context

Closes #1188 Instead of opening a VOD, waiting for it to load, clicking skip, and waiting for it to load again there should be a user setting which allows the player to immediately skip past the first period of silence.

Description

A new user setting to allow automatic skipping was added, this can be modified in the users settings page. When this setting is enabled, the watch page sets the progress of the stream VOD to the maximum of the watch progress in the database and the end of the first period of silence.

This only happens if the stream is not a self-stream (lecture_hall_id != 0). This is because the progress is converted into a timestamp using the JS videoplayer duration, not the duration calculated by subtracting the stream end from stream beginning. I think it's safe to assume these two duration values will be the same when it is not a self-stream, as the recording just runs on in those cases.

Steps for Testing

Prerequisites:

  1. Navigate to the "Einführung Brauereiwesen" course
  2. Select one of the VODs
  3. Notice it will start at the beginning and blend in the skip ahead button
  4. Navigate to the user settings
  5. Enable "Automatically Skip First Silence"
  6. Return to the "Einführung Brauereiwesen" Course
  7. Select one of the VODs
  8. Notice it will no longer start at the beginning, but where the skip ahead button would have taken you

Screenshots

Screenshot_Skip_Silence_Setting

YiranDuan721 commented 5 months ago

Before merging it to dev, I would like to make sure: we do rebuild the database container using "/docs/static/tum-live-starter.sql" for each deployment, right?

Mjaethers commented 5 months ago

I'm afraid I don't quite follow. My understanding of the file is that it is used to create a local docker container, as outlined in the docs and that it has no impact on the database used in deployment. As far as I know this is just for testing during development. The container would only be rebuilt if one were to manually rebuild it then.

But we can always get someone who is more familiar with the system in here if need be.

Mjaethers commented 5 months ago

I thought it would make sense to commit these changes as well for future testing in this area, but we can also exclude this file if it's cluttering the db.

YiranDuan721 commented 5 months ago

Yes, I think changes to the sql file should be pushed anyway, but they need to be handled more carefully when deployed. I'd like to hear from someone more familiar with the project on this issue.

Mjaethers commented 5 months ago

@alexanderstephan or @joschahenningsen what are your thoughts on the matter?