Split track selection to video and audio selection#1230
Split track selection to video and audio selection#1230KatrinIhler merged 27 commits intoopencast:mainfrom
Conversation
In the "Tracks" view, instead of de-/selecting the whole track, the video and audio streams can be de-/selected individually. At least one video stream must remain selected. All audio streams can be deselected. If the audio stream is marked as unavailable, it cannot be de-/selected. Shows the waveform from the timeline for a graphical representation of the audio stream. However, there will only be one waveform generated for the timeline, so in case of additional tracks a placeholder image will be shown instead. Resolves opencast#1009. opencast#1009 also mentions potential issues in the backend, while this PR only addresses the frontend. From my limited testing the backend seems fine when using the default community workflows (no errors, the correct streams get published). If there are any users around that are still using the track selection feature in the old editor, and that are aware of any backend issues, please do tell me about them.
|
This pull request is deployed at test.editor.opencast.org/1230/2023-12-14_10-06-39/ . |
|
My thoughts on how to go about the usability issues you highlighted:
|
|
The original goal of the editor was to be simple since it is meant for non-technical end-users. I would really like to keep that goal since we expose the editor to such users. Therefor, a lot of implicit knowledge as a requirement isn't a great solution and neither is having a lot of boxes and buttons with technical terms. As an alternative, we could introduce one simple way to handle the result. My suggestion would be: If you remove any audio stream, all other audio streams will be mixed and attached to all videos. This rule is simple and works with as many videos tracks as you want. It also works well with other parts of Opencast like the Paella Player, which will just play back a single stream. Running with that idea, we would need a change in the backend workflow operation and a hint about how this works in the UI of this pull request. The hint should also include that the mixing will happen if a track is already missing an audio stream. Furthermore, since users should be able to deal with individual audio streams, we also need to make sure the editor can playback all streams, and individual streams. A simple solution may be playback controls on the tracks page where you then disable the audio streams of the tracks were audio has been removed? |
|
This pull request has conflicts ☹ |
|
This pull request is deployed at test.editor.opencast.org/1230/2024-01-18_15-31-01/ . |
|
Finally getting around to commenting on this... I will not chime in with the ongoing discussion, but just say that
is something I would like to see either being configurable in the backend, or simply not enforced (which I think you already knew I was gonna say ;)), because it doesn't take into account audio-only use cases. Consider the following:
Both of these cases should be possible with the new editor. It doesn't have to be the case out of the box, but I shouldn't need to patch the code to make this work, just do some configuration. So basically the same arguments I made here, except that for the new editor, making this configurable with an "allow audio only in editor" or something would actually be worth it. |
|
This pull request has conflicts ☹ |
KatrinIhler
left a comment
There was a problem hiding this comment.
See my comment above, also conflicts. :(
|
Lars sent me this "oneliner" to create a triple event: curl -u admin:opencast "${SERVER}/ingest/addMediaPackage/fast" \
-F 'flavor=presenter/source' \
-F mediaUri=https://example.com/opencast/test-media/goat.mp4 \
-F 'flavor=presentation/source' \
-F mediaUri=https://example.com/opencast/test-media/goat.mp4 \
-F 'flavor=experiment/source' \
-F mediaUri=https://example.com/opencast/test-media/goat.mp4 \
-F identifier=three \
-F title="Three Video Streams" \
-F creator="$(shuf -n 1 /usr/share/dict/words)"
|
|
Results of todays discussion between Sascha, Katrin, Lars, Arne and Marcus:
|
|
I talked to @Arnei about this and created a first version of it. Here are some screenshots. Initial state after opening the "Tracks" tabAfter de-selecting a video trackAfter de-selecting all video tracksAfter de-selecting all but one track |
|
The "Confirm selection" buttons seems to be useless. Last we talked we defined:
The initial state is that all tracks are selected. This can also be easily determined in the code. So if we never de-select any tracks, we don't change the event?! |
IIRC, the idea was not to have a confirm button, but to have a checkbox to activate the track selection. So if a user wants to de-select tracks, they first have to activate this "modify track selection" checkbox. As long as the checkbox is inactive, video and audio selection is grayed-out, nothing can be changed and the track selection will be completely ignored. As soon as the checkbox is activated, the user will be able to de-select video and/or audio tracks, and Opencast will process video and audio accordingly (muxing audio, etc.) as soon as the user starts the workflow. @KatrinIhler and @lkiesow please correct me if I'm wrong. |
|
Agreed with @snoesberger completely . The difference between an activated and deactivated track selection, if the user does not do anything else, is whether the audio tracks are kept as-is or are muxed. So no to the confirm button (bc this doesn't persist this decision in a visible way later), yes to a checkbox or something to activate the whole selection thingy (as shown on the initial sketch). |
|
I have pushed my changes to this PR to my own branch: https://github.com/luniki/opencast-editor/commits/tracks-select-audio/ |
|
The checkbox labelled "Customize track selection" is a new part of the state of the editor which has to be transferred to the Opencast EditorService endpoint. At the moment there is an additional boolean key in the JSON object. This requires changes in the Or do I get this wrong? How should that checkbox be encoded? |
|
I pushed my changes to my forked branch of opencast-editor: https://github.com/luniki/opencast-editor/commits/tracks-select-audio/ In the backend I edited the |
See opencast#1230 (comment) for details. Signed-off-by: Arnei <arnewilken@yahoo.de>
Signed-off-by: Arnei <arnewilken@yahoo.de>
Signed-off-by: Arnei <arnewilken@yahoo.de>
As suggest by @JulianKniephoff. Fixes import of appkit css styles.
|
This pull request is deployed at test.editor.opencast.org/1230/2024-12-12_16-32-25/ . |
|
This pull request has conflicts ☹ |
|
This pull request is deployed at test.editor.opencast.org/1230/2024-12-17_08-03-28/ . |
|
This pull request has conflicts ☹ |
|
This pull request is deployed at test.editor.opencast.org/1230/2024-12-17_10-05-16/ . |
|
This pull request has conflicts ☹ |
|
This pull request is deployed at test.editor.opencast.org/1230/2025-01-09_08-23-25/ . |
|
I overlooked some GitHub warnings in my last commit. Now everything should be fixed. @Arnei I created a PR against your Branch again: Arnei#271. Besides my successful tests, this feature is already running on a production system (since last summer I think), so it seems to work fine. I also took a look at the code. Besides the GitHub warnings (that should be hopefully dealt with by now) , the code looks good to me. I think the PR is ready to be merged. |
Fix all test warnings
|
This pull request is deployed at test.editor.opencast.org/1230/2025-01-15_14-43-59/ . |
…dio" This reverts commit 8810203.
* upstream/r/17.x: (31 commits) Fix ESlint Revert "Merge pull request opencast#1230 from Arnei/tracks-select-audio" Don't store the full history of gh-pages. We don't need to be able to see the built branch tip from the past - that's what git is for Changing the rendering of waveform images Only creating releases for opencast namespaced repostiories Load waveform images locally if possible Automatically creating a PR in the upstream repository for the right branch Generating an index for the root of the test domain, just in case Don't cancel, queue Deploying test (ie, full branch) commits to directories to permit testing multiple branches Changing release bot names Handling versioned releases. Release tags can be created via the create-release workflow for ease of use. Tags must be of the format VERSION.x-YYYY-MM-DD, cf 18.x-2025-06-30. Name the correct version of node in use Only update and deploying the test instance from the mainline repository. The previous behaviour failed at the organization check for me. Only building and deploying if we're in the upstream repository Bump the minor-and-patch group across 1 directory with 15 updates Update appkit to 4.0.0 It's “label” not “lable” Remove dead rule Fix eslint rule @typescript-eslint/require-await ...










In the "Tracks" view, instead of de-/selecting the whole track, the video and audio streams can be de-/selected individually. At least one video stream must remain selected. All audio streams can be deselected. If the audio stream is marked as unavailable, it cannot be de-/selected.
Shows the waveform from the timeline for a graphical representation of the audio stream. However, there will only be one waveform generated for the timeline, so in case of additional tracks a placeholder image will be shown instead. Any suggestions/submissions for a better placeholder graphic are very welcome.
Resolves #1009. #1009 also mentions potential issues in the backend, while this PR only addresses the frontend. From my limited testing the backend seems fine when using the default community workflows (no errors, the correct streams get published). If there are any users around that are still using the track selection feature in the old editor, and that are aware of any backend issues, please do tell me about them.
Courtesy of the Opencast 2023 Crowdfunding.