feature: Cut #5

Open
opened 2024-03-03 21:12:21 +01:00 by thunfisch · 1 comment
Owner

Depends on #4

Provide an option to download segments of a recording. Can be used to extract a single event out of a stream. Offer a simple webinterface, that allows to scrub through the whole recording, and set one or more IN/OUT points.

Allow chosing between fast (cut at I-frames without transcoding) and accurate & slow (cut anywhere with transcoding).

  • Requires the option to schedule Jobs instead of Tasks. Jobs are run-once Jobs that do some work, and can be removed afterwards. Jobs are not triggered by an available signal, but instead are run on-demand.
  • Requires setting up some cutting webinterface. Maybe we can reuse the editor that Opencast uses, or take it as inspiration. Especially the SMIL format to describe the video segments to use sounds very useful.
  • Save edit via SMIL file in database. Keep version history of SMIL file.
  • Trigger processing for SMIL file version
  • Processing is done in Job. Can we use Celery for this? Might limit options on how to implement Job worker (Python vs. whatever fits into a Docker container)
  • Upload finished video to S3 storage, link with SMIL file version, offer for Download with signed link

Bonus points:

  • Allow appending intro/outro that was uploaded before
  • Allow normalizing/autoleveling audio
  • Allow embedding typical Fahrplan metadata
Depends on #4 Provide an option to download segments of a recording. Can be used to extract a single event out of a stream. Offer a simple webinterface, that allows to scrub through the whole recording, and set one or more IN/OUT points. Allow chosing between fast (cut at I-frames without transcoding) and accurate & slow (cut anywhere with transcoding). - Requires the option to schedule Jobs instead of Tasks. Jobs are run-once Jobs that do some work, and can be removed afterwards. Jobs are not triggered by an available signal, but instead are run on-demand. - Requires setting up some cutting webinterface. Maybe we can reuse the editor that [Opencast](https://docs.opencast.org/r/15.x/admin/#workflowoperationhandlers/editor-woh/) uses, or take it as inspiration. Especially the [SMIL](https://www.w3.org/AudioVideo/RA-examples.html) format to describe the video segments to use sounds very useful. - Save edit via SMIL file in database. Keep version history of SMIL file. - Trigger processing for SMIL file version - Processing is done in Job. Can we use Celery for this? Might limit options on how to implement Job worker (Python vs. whatever fits into a Docker container) - Upload finished video to S3 storage, link with SMIL file version, offer for Download with signed link Bonus points: - Allow appending intro/outro that was uploaded before - Allow normalizing/autoleveling audio - Allow embedding typical Fahrplan metadata
thunfisch added this to the Utility milestone 2024-03-03 21:38:20 +01:00
Author
Owner

Here's the meat and potatoes of how Opencast implements the actual ffmpeg command to cut the video: https://github.com/opencast/opencast/blob/develop/modules/videoeditor-ffmpeg-impl/src/main/java/org/opencastproject/videoeditor/ffmpeg/FFmpegEdit.java

Here's the meat and potatoes of how Opencast implements the actual ffmpeg command to cut the video: https://github.com/opencast/opencast/blob/develop/modules/videoeditor-ffmpeg-impl/src/main/java/org/opencastproject/videoeditor/ffmpeg/FFmpegEdit.java
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: cwtv/portier#5
No description provided.