Skip to content
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

Generate waveform from track in specified flavor #694

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

Arnei
Copy link
Member

@Arnei Arnei commented May 17, 2022

Adds a new setting that allows the user to specify a flavor from which the waveform image will be generated. Since the waveform generation normally requires fetching a whole video file, this allows specifying a way smaller audio file, thereby reducing traffic.

One way to generate an audio file in Opencast

Example for an Opencast workflow operation for generating an audio file

<!--- Generate audio -->
<operation
    id="encode"
    fail-on-error="true"
    exception-handler-workflow="partial-error"
    description="Encoding video">
  <configurations>
    <configuration key="source-flavor">presenter/preview</configuration>
    <configuration key="target-flavor">*/audio</configuration>
    <configuration key="target-tags">engage-download,engage-streaming,rss,atom</configuration>
    <configuration key="encoding-profile">audio.http</configuration>
  </configurations>
</operation>

Example for an Opencast encoding profile for a generating a small audio file

profile.audio.http.name = convert video to audio
profile.audio.http.input = visual
profile.audio.http.output = audio
profile.audio.http.suffix = .m4a
profile.audio.http.ffmpeg.command = -i #{in.video.path} \
  -vn -filter:a aresample=8000 -b:a 12k -c:a aac -ac 1 \
  #{out.dir}/#{out.name}#{out.suffix}

Using a small audio file instead of a video file speeds up the waveform generation, but not as much as maybe desirable. For example, for a video file of 80 minutes and 125 MB, waveform generation took 20 seconds. With an audio file generated from the video with 7 MB, waveform generation still took 10 seconds.

This does NOT solve the issue of the editor crashing for very long videos (over ~3 hours). The crashing does seem to be related to workflow generation though, particularly to audio decoding.

@github-actions
Copy link

This pull request is deployed at test.editor.opencast.org/694/2022-05-17_15-41-22/ .
It might take a few minutes for it to become available.

@lkiesow
Copy link
Member

lkiesow commented Jun 14, 2022

Do we still want/need this with the other one merged? We know that we still have problems with large files even with this merged. What do you think?

@github-actions github-actions bot added the status:conflicts Conflicts with another pull request or issue label Jun 14, 2022
@github-actions
Copy link

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

@github-actions github-actions bot removed the status:conflicts Conflicts with another pull request or issue label Jun 15, 2022
@github-actions
Copy link

This pull request is deployed at test.editor.opencast.org/694/2022-06-15_07-18-09/ .
It might take a few minutes for it to become available.

@Arnei
Copy link
Member Author

Arnei commented Jun 15, 2022

I think merging would still be beneficial for the current state of the editor.

True, this does not fix the issue with long files in frontend waveform generation. But currently, the only real solution to that seems to be to not use frontend waveform generation at all. By that logic, we should probably remove all code pertaining to waveform generation, but we haven't. Until we decide to do that, this PR helps users who want to use frontend waveform generation (and don't have long video files).

@github-actions
Copy link

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

@github-actions github-actions bot added the status:conflicts Conflicts with another pull request or issue label Jun 17, 2022
@Arnei Arnei added the type:enhancement New feature or request label Jul 6, 2022
@github-actions github-actions bot removed the status:conflicts Conflicts with another pull request or issue label Jul 6, 2022
@github-actions
Copy link

github-actions bot commented Jul 6, 2022

This pull request is deployed at test.editor.opencast.org/694/2022-07-06_09-04-21/ .
It might take a few minutes for it to become available.

@github-actions
Copy link

github-actions bot commented Oct 6, 2022

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

@github-actions github-actions bot added the status:conflicts Conflicts with another pull request or issue label Oct 6, 2022
@github-actions github-actions bot removed the status:conflicts Conflicts with another pull request or issue label Oct 6, 2022
@github-actions
Copy link

github-actions bot commented Oct 6, 2022

This pull request is deployed at test.editor.opencast.org/694/2022-10-06_15-30-16/ .
It might take a few minutes for it to become available.

@github-actions github-actions bot added the status:conflicts Conflicts with another pull request or issue label Oct 13, 2022
@github-actions
Copy link

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

@github-actions github-actions bot removed the status:conflicts Conflicts with another pull request or issue label Oct 14, 2022
@github-actions
Copy link

This pull request is deployed at test.editor.opencast.org/694/2022-10-14_09-16-43/ .
It might take a few minutes for it to become available.

@github-actions github-actions bot added the status:conflicts Conflicts with another pull request or issue label Apr 5, 2023
@github-actions
Copy link

github-actions bot commented Apr 5, 2023

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

@github-actions github-actions bot removed the status:conflicts Conflicts with another pull request or issue label Jan 18, 2024
Copy link

This pull request is deployed at test.editor.opencast.org/694/2024-01-18_15-49-12/ .
It might take a few minutes for it to become available.

Copy link

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

@github-actions github-actions bot added the status:conflicts Conflicts with another pull request or issue label Jan 29, 2024
@github-actions github-actions bot removed the status:conflicts Conflicts with another pull request or issue label Jan 29, 2024
Copy link

This pull request is deployed at test.editor.opencast.org/694/2024-01-29_15-29-49/ .
It might take a few minutes for it to become available.

@KatrinIhler
Copy link
Member

Test failures. :(

@github-actions github-actions bot added the status:conflicts Conflicts with another pull request or issue label May 7, 2024
Copy link

github-actions bot commented May 7, 2024

This pull request has conflicts ☹
Please resolve those so we can review the pull request.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:conflicts Conflicts with another pull request or issue type:enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants