diff options
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | main.js | 6 |
2 files changed, 5 insertions, 3 deletions
@@ -1,2 +1,2 @@ # yt-frame-timer -A JavaScript-based program to determine the time between start and end points of a YouTube video down to the frame. Based on [https://docs.google.com/spreadsheets/d/1c3eiw1_00Tx1snAdU_kvncuA8C8xu5-q3tSOPRuqhzI/](https://docs.google.com/spreadsheets/d/1c3eiw1_00Tx1snAdU_kvncuA8C8xu5-q3tSOPRuqhzI/).
\ No newline at end of file +A JavaScript-based program to determine the time between start and end points of a YouTube video down to the frame. Based on [https://docs.google.com/spreadsheets/d/1c3eiw1_00Tx1snAdU_kvncuA8C8xu5-q3tSOPRuqhzI/](https://docs.google.com/spreadsheets/d/1c3eiw1_00Tx1snAdU_kvncuA8C8xu5-q3tSOPRuqhzI/) by Slush Puppy (big thanks to them for their work).
\ No newline at end of file @@ -8,8 +8,10 @@ function compute() { let seconds = 0; let milliseconds = 0; let frameRate = parseInt(framerate); - let diff = (endObj.lct - startObj.lct) * frameRate; - let frames = diff; + let frameFromObj = (time, fps) => Math.floor(time * fps) / fps; //round to the nearest frame + let startFrame = frameFromObj(startObj.lct, frameRate); + let endFrame = frameFromObj(endObj.lct, frameRate); + let frames = (endFrame - startFrame) * frameRate; if (frames >= frameRate) { seconds = Math.floor(frames / frameRate); frames = frames % frameRate; |