5

Is there any audio/video player that can skip over the parts in which the sound is below a certain level automatically? Watching lectures with uninteresting bits is horrendous!

3

There are a few python scripts, mostly working with ffmpeg about that could help:

  • Video Grep can either look for specific words in the subtitles of videos
  • MoviePy can be used to extract the audio from the video, you can then process it to identify the time periods when the sound is below a given level and generate a set of clips when there is some sound and reassemble them into a new video.
  • I did see a blog post that covered using IIRC OpenCV that detected the audio levels in football matches so as to create a highlights video but I can't currently locate it.

A specific example that I found was doing the reverse, i.e. using the times with the audio volume peaking to detect the goals being scored in a football/soccer game this can be found here it should be relatively easy to convert this to what you need.

2
  • Can you add an example code with moviepy, or opencv ,etc? Thanks May 8 at 21:01
  • 2
    @hosseinhayati I have added a link to some code that does the reverse selecting peak audio times. May 11 at 8:23
3

Right now, the only (low-effort) solution that I know it's to upload the video to youtube and watch it on NewPipe with fast-forward over silence on.


NewPipe uses ExoPlayer by Google, which is a video player that offers this utility in the API.

4
3
+50

Since you have the video files on your machine, one approach is to edit the video files themselves, instead of having it be a feature of the video player.

jumpcutter

The best software to do this that I was able to find is jumpcutter. There is a nice video explaining the theory behind how it works.

If you have some basic Python knowledge, the GitHub link above is all you need to get started. If not, you can check the guide here for the steps.

unsilence

Another Python tool I found is unsilence. I have not used it personally, but it seems to be pretty good. There is an example posted where they were able to reduce the length of a lecture video by 20%. The command-line installation and usage instructions on the link I posted seem to be pretty clear.

1
  • 1
    I've tested most of the methods: @Steve Barnes's new edit has a great example using MoviePy for writing a code to do it as you want, (as I am busy right now, I just read the article but didn't have time to try it myself). @Rainb: Newpipe is a great app, the advantage is it is real time , and disadvantage is the app is online, you have to upload your video first. And finally the methods @hb20007 mentioned: jumpcutter uses too much storage while processing, and the most straight forward method was unsilence which is simple, gives great results and can be adjusted. thank you all May 15 at 7:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.