-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split track selection to video and audio selection #1230
base: main
Are you sure you want to change the base?
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 ☹ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <[email protected]>
Signed-off-by: Arnei <[email protected]>
Signed-off-by: Arnei <[email protected]>
You may be right, this could be confusing for some users. But if we show something for the missing audio track, I don't think the user should be able to interact with that section. Therefore I resume:
|
This patch adresses all of the todo items: |
Signed-off-by: Arnei <[email protected]>
This pull request is deployed at test.editor.opencast.org/1230/2024-06-17_10-35-48/ . |
Thanks for the improvements! I can confirm that the following points are now fixed:
The problem where a placeholder image is displayed instead of the waveform is still open: |
This is a result of a more general problem, where the editor does not put too much effort (read: pretty much no effort) into associating waveform(s) with their respective videos. This was fine originally, as other views beside the track selection only ever required one waveform and it did not matter which video it came from. Fixing this properly would require a bit of rewriting, also in how we send waveforms from the backend to editor. Not sure if this should be fixed in this PR, or a separate one. |
ToDo Notes:
|
We generally can't server assets from the public directory in Opencast, so this changes it so that we import the placeholder png as URL.
This pull request is deployed at test.editor.opencast.org/1230/2024-06-19_09-41-55/ . |
This pull request has conflicts ☹ |
This pull request is deployed at test.editor.opencast.org/1230/2024-06-21_10-43-45/ . |
This pull request has conflicts ☹ |
This pull request is deployed at test.editor.opencast.org/1230/2024-06-26_15-03-28/ . |
Adds a new config option to track selection. Instead of ensuring that at least any one stream remains enabled, this option makes is so that at least any one *video* stream remains enabled. This is useful if your Opencast cannot handle audio only. Also makes this new config option the default.
This pull request is deployed at test.editor.opencast.org/1230/2024-06-27_09-04-50/ . |
Adds a new config option to track selection. It is true per default and disables the track selection for events with more than two videos. This is because standard Opencast workflows are not equipped to deal with track selection for more than two videos.
b12dbc0
to
6700626
Compare
This pull request is deployed at test.editor.opencast.org/1230/2024-06-27_09-10-39/ . |
This changes wording in the info box to better reflect how the community workflows will handle the given selection. I am aware that this is not what we discussed, but it is the current default and what therefore most users arguably will expect to happen.
This pull request is deployed at test.editor.opencast.org/1230/2024-06-27_09-18-32/ . |
I handled the ToDos from my last comment by going for the mentioned alternatives. This means that
While these "solutions" are not what exactly what we wanted, they do accurately reflect the current state of the Opencast backend and workflows. Furthermore, solving these ToDos "properly" (make OC workflows handle audio only, make select-tracks WOH handle +3 videos, implement audio muxing) is a lot of work that likely will not happen anytime soon, and I would hate to see this PR get blocked because of that. Even if this PR does not achieve all the things we set out to do, it still constitutes a considerable improvement. I would therefore like to see it merged, and create follow-up issues for the "proper" solutions. |
I completely agree with you. I also prefer a first version with the basic functionalities that we can already use. The rest of the customisation can be done in separate PRs. |
@lkiesow do you also agree with the procedure described by @Arnei in this comment? |
We have now been running this PR in production for almost two months without any problems. From our user point of view (without being able to judge the code quality), this PR could be merged. |
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.