<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <version>1.1.0</version> <title>YouTube Frame Timer</title> <link rel="stylesheet" href="https://stackedit.io/style.css" /> <script src="main.js"></script> </head> <body class="stackedit"> <div class="stackedit__html"> <h1 id="youtube-interval-timer">YouTube Interval Timer</h1> <h3 id="about">About</h3> <p>Takes start and stop points of a YouTube video, down to the frame, and gives the time between them in the format <code>1h 23m 45s 678ms</code>. Source code is <a href="https://github.com/slashinfty/yt-frame-timer">available</a>. </p> <h3 id="video-framerate">Video Framerate</h3> <p>Right click the YouTube video and select “Stats for nerds.” The third line is “Current / Optimal Res” - find the two numbers after the @ and enter them for framerate.</p> <p> <label for="framerate">Framerate: </label> <input type="text" id="framerate" size="3" value="60" onchange='validateFPS(event)' /> </p> <h3 id="video-endpoints">Video Endpoints</h3> <p> Find the starting point (you can use the <code>,</code> and <code>.</code> keys to find the exact frame). Right click the video and select “Copy debug info” and paste it for starting frame. Repeat for ending frame. </p> <p> <label for="startobj">Starting frame: </label> <input type="text" id="startobj" style='width:100%' onchange='parseForTime(event)' /> </p> <p> <label for="endobj">Ending frame: </label> <input type="text" id="endobj" style='width:100%' onchange='parseForTime(event)' /> </p> <h3 id="video-time">Video Time</h3> <p> <button id="computeButton" onclick="compute()">Compute time</button> <input type="text" id="time" readonly size="20" /> </p> <p id="modMessage"></p> <b> <p id="postModMessage"></p> </b> </div> </body> </html>