7 votes

Video Summarizer - browser extension that speeds up video depending on whether is there person talking or not

4 comments

  1. Soptik
    Link
    I made a tool and browser extensions that determines if people in video are currently talking or not, and speeds up the video accordingly. Great for long lecture videos for skipping time spent...

    I made a tool and browser extensions that determines if people in video are currently talking or not, and speeds up the video accordingly. Great for long lecture videos for skipping time spent writing on a whiteboard.

    My use case are corona-time lectures. I don't want to just watch the teacher write something while saying nothing, so I speed up the video 1.5x when teacher is talking, and 4x otherwise.

    So this extension analyses sound in the video, and determines which parts are loud or silent. And depending on that, it changes playback rate of the video. Technically, this is javascript extension that downloads video information (when it's loud or silent) from server (which is btw written entirely in shell & gnu coreutils) and tells the videoplayer what to do. So only videos explicitely indexed by my server are managed by this extension. User has to click a button in the extension menu to index a video (as the data about videos are stored on my server and it has very small disk size, so I don't want to do this for every video).

    3 votes
  2. [3]
    teaearlgraycold
    Link
    It seems that you should be able to architect this to be done fully in-browser with a combination of https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/captureStream and...

    It seems that you should be able to architect this to be done fully in-browser with a combination of

    https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/captureStream

    and

    https://webaudio.github.io/web-audio-api/#audioworklet

    2 votes
    1. [2]
      Soptik
      Link Parent
      Thanks, I need to look at it. But tbh, I probably won't do this anytime soon. I'm not javascript developer and hell this sounds complicated. But thanks a lot. It's true that it would solve a lot...

      Thanks, I need to look at it.

      But tbh, I probably won't do this anytime soon. I'm not javascript developer and hell this sounds complicated. But thanks a lot. It's true that it would solve a lot of my problems, notably having to run a server that downloads every video is... really not ideal.

      2 votes
      1. teaearlgraycold
        Link Parent
        I only gave this a cursory pass, but it shouldn't be too complicated in practice. If you can find a project out there that does waveform processing and use it as a starting point, it won't be too...

        I only gave this a cursory pass, but it shouldn't be too complicated in practice. If you can find a project out there that does waveform processing and use it as a starting point, it won't be too long until you've ported over your code.

        1 vote