Giter Site home page Giter Site logo

zznidar / lecture-speedrun Goto Github PK

View Code? Open in Web Editor NEW
25.0 2.0 3.0 240 KB

Speed up silent portions of a lecture video/audio on-the-fly! Lecture Speedrun. Prototype. Inspired by jumpcutter.

Home Page: https://zznidar.github.io/lecture-speedrun/

License: MIT License

HTML 32.31% JavaScript 66.95% CSS 0.74%
binge-watcher video-player experimental vanilla-js

lecture-speedrun's Introduction

lecture-speedrun

Lecture Speedrun. Prototype. Very experimental. Accessible here: https://zznidar.github.io/lecture-speedrun/

Inspired by carykh's Automatic on-the-fly video editing tool! and jumpcutter.

Very experimental

Prototype tested only in Firefox and Chrome. Firefox prior to v91 may not play any audio.

What is Lecture Speedrun?

Lecture Speedrun allows you to speed up silent portions of a lecture video/audio on-the-fly, saving you precious time. Should it happen that your teacher speaks really slowly or makes a lot of pauses between sentences, use Lecture Speedrun to play the silent portions at a higher rate.

Usage

  1. Open https://zznidar.github.io/lecture-speedrun/ in Firefox or Chrome.
  2. Pick a video or audio file of the lecture you want to speedrun.
  3. Optionally adjust settings.
  4. Play the video.

Settings

Confirm your settings changes with the Confirm button.

Loudness threshold

How loud the audio should be at a given moment to be treated as speech. Observe Current loudness below to fine-tune it. If silence is treated as speech, increase the threshold. If speech is treated as silence, lower the threshold.

Smoothen

How many consequent analyses should be silent to count it as silence. The higher this number, the longer it will take after the lecturer stops speaking to start fast-forwarding.

Speed of silence

Playback speed when the lecturer is silent.

Speed of speech

Playback speed when the lecturer is speaking.

Lefting (revert each start of speaking)

Experimental feature to seek the video back for a split-second once the lecturer starts speaking. Would be useful if the first sounds of speech were cut off. Doesn't work too well ๐Ÿ˜…

Audio gain

Increase the playback loudness. Useful if the video volume is very low. Note that this does not affect the analysis.

Hide current loudness indicator

Current loudness is shown at every given moment to make it easier for you to adjust the Loudness threshold. However, some users reported it uses a lot of their CPU. Check this box to stop updating current loudness indicator.

Hide speed indicator

This icon indicates when the video is fast-forwarded: โฉ๏ธŽ Check this box to stop indicating the state of speed.

Troubleshooting

  • Make sure not to use the lefting functionality. It really does more harm than good.
  • Some users report better performance if they disable Hardware-accelerated video decode and Hardware-accelerated video encode under chrome://flags
  • Firefox limits playback speed to 4x.

Note

Binge-watching your lectures at 2x playback speed on your sofa with a glass of beer and a bowl of popcorn in your hands during the last 2 weeks before your exams might not be the best idea.

lecture-speedrun's People

Contributors

andrazznidar avatar zznidar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

lecture-speedrun's Issues

Changing smoothing while playing sometimes causes Lecture Speedrun to stop working

In some cases, it happens that chaning the "Smoothen last n samples" setting while a video is playing causes Lecture Speedrun to break.

More precisely, it happens when you decrease that number. Apparently the indexSmoothing variable is not reset when updating settings. That means that it may happen that current loudness gets written into the array at some out-of-bound index (which apparently extends the array, creating something like [0.16436233363224984, 0.13041777660688667, empty ร— 39, 0.17346392315239798]).
However, in the subsequent line the index gets moduled to the new smoothing value, preventing it from reaching the last few elements of the array. Therefore, the last elements of the array may remain "loud" forever, preventing the silence from being sped up.

Possible solution: Reset the indexSmoothing variable in the updateSettings function.

Screenshare in BBB gets out of sync

Changing webcam video playback rate in BigBlueButton does not automatically change the playback rate of the screen share. Thus, they get out of sync quickly.

Affects: bbb-spedrun.js

Make this a PWA with offline support

This would allow users to watch local videos even when offline (airplane and other means of transport ...).
Once the webpage is loaded, internet connection ist sowieso not required anymore for local files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.