{"_id":"@douglassllc/videojs-framebyframe","_rev":"3-a11e641b591a80ee52cee165e2e80e6a","name":"@douglassllc/videojs-framebyframe","dist-tags":{"latest":"1.2.0"},"versions":{"1.1.0":{"name":"@douglassllc/videojs-framebyframe","version":"1.1.0","keywords":["video","videojs","videojs-plugin"],"author":{"url":"http://douglassllc.com","name":"Douglass E Hock","email":"doug@douglassllc.com"},"license":"MIT","_id":"@douglassllc/videojs-framebyframe@1.1.0","maintainers":[{"name":"douglassllc","email":"development@douglassllc.com"}],"contributors":[{"url":"@erasche","name":"Helena Rasche"},{"url":"@miguelgrinberg","name":"Miguel Grinberg"}],"homepage":"https://github.com/douglassllc/videojs-framebyframe","bugs":{"url":"https://github.com/douglassllc/videojs-framebyframe/issues"},"dist":{"shasum":"3947c29d04c7d80ee884d9cfff0d3f9b0dd4fdbf","tarball":"https://registry.npmjs.org/@douglassllc/videojs-framebyframe/-/videojs-framebyframe-1.1.0.tgz","fileCount":13,"integrity":"sha512-Ozle6EmYjvr0/om7wrt1z27GPyxXe0KaENVn4ZDoUiAVIZ+AtqS7u2H3PT4A+KCQi1ON8RcCDQzwP7FRlgJTzA==","signatures":[{"sig":"MEUCICYC102Wr0BwWV9czqYQn364EM7UOimNOgL6DAexaCJwAiEAkuOa01Sp5DLu5JK0Kyqk//gurHtWPXQhtH2aQfcL3IA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekGvxCRA9TVsSAnZWagAAeeEP/jyS4T6ylv2OOP8Rzpz7\ncOXPJVWFIBDYjBpRexGYdm0DS4/IjLKfrm+jfxZdcdt7exoIDSZ3c8RwlzrW\nsIXph5JMsizW7PQ/f6KsG9RCNYF8C0a9qyOUjcGqPrxXmyCEx2PcLHm7gCco\nlFhi//NGrbJPp52slP3SH9tzjsMCfRpdnjPKBSvmyhxEPAAAUN2eKmJQJSxL\nWbdu3S110cQaGUYCXPDIqCOk3OEepew9Q41DBH1p3vNDPLy7oWZ/Vxi1nJ6Q\n5lADISvuGjVpr6LtVKuEIaokz0TJ5F/d87Zqg0m8ScAuaY5/k1E8K8woYgBo\nptjjTHHSpGjlxDFmFriB+ljuwi5bJ1mdTAX0SzzJs5HhXosT1cuoKrfBuaWk\nOvd6M1IX0kghE6Cq8LUYAhrP9fp7s965JHWt90hHPM+mSFopP8gIrIIXyGdJ\nx84YcJYjgsTIDLA9YDCHKAZ8WF8TEYrvIxV01dswydG2L/k8WsIr506v2rXU\nZU6ya1PIBUxGpO+9rDv3I2V1c6WQcT9o1wjFU9n7dktnn+we30XHrvcWacTB\nKc5aUIfhEmuFcQgAbC2rAJIVqJf9totp3Y15M3bxxtQQSC2R0QKhJ7rNs6oH\ntOJkCkJHIANoknEUC14yVHXQZ3xvJiPgjmvHGzZ+6x94O30sZ2CW2oZaERTg\nmX4e\r\n=pOs0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"videojs.framebyframe.js","gitHead":"769e7a0099cea88e8907c4ad7748257b631ac9cd","scripts":{"test":"echo No tests yet!"},"_npmUser":{"name":"douglassllc","email":"development@douglassllc.com"},"repository":{"url":"git+https://github.com/douglassllc/videojs-framebyframe.git","type":"git"},"_npmVersion":"6.14.4","description":"video.js plugin that allows users to step frame-by-frame through a video.","directories":{},"_nodeVersion":"10.15.0","dependencies":{"video.js":">=5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"grunt":">=0.4.5","grunt-jscs":"^2.7.0","grunt-contrib-watch":">=0.6.1","grunt-contrib-concat":">=0.4.0","grunt-contrib-jshint":">=0.10.0","grunt-contrib-uglify":">=0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/videojs-framebyframe_1.1.0_1586523120543_0.8703238641044533","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@douglassllc/videojs-framebyframe","version":"1.1.1","keywords":["video","videojs","videojs-plugin"],"author":{"url":"http://douglassllc.com","name":"Douglass E Hock","email":"doug@douglassllc.com"},"license":"MIT","_id":"@douglassllc/videojs-framebyframe@1.1.1","maintainers":[{"name":"douglassllc","email":"development@douglassllc.com"}],"contributors":[{"url":"@erasche","name":"Helena Rasche"},{"url":"@miguelgrinberg","name":"Miguel Grinberg"}],"homepage":"https://github.com/douglassllc/videojs-framebyframe","bugs":{"url":"https://github.com/douglassllc/videojs-framebyframe/issues"},"dist":{"shasum":"79adabe658ac2308bd36c289600ec69fd9574fcf","tarball":"https://registry.npmjs.org/@douglassllc/videojs-framebyframe/-/videojs-framebyframe-1.1.1.tgz","fileCount":13,"integrity":"sha512-xHd4NbrEVj8sT0IMeWL0+nBdk3OMcev38VEIzRgxkSYraHeq0Tf0bU4UqDWUCsfI6XcNuPmyf6lVcIOpy1M4mQ==","signatures":[{"sig":"MEUCIDsvQD1Use7m3GidccpGOynIekELQyCkKq6RCrWl468MAiEA8smhl35Q9UTfVWa/Ksw1wfHU5cc7bTMRL6MVBiprZ/E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46208,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekG3eCRA9TVsSAnZWagAARB8P/R1Y90GaH1T5J5yG96Ne\n2NuGBDw5N5PzTR6+1Ul3jGfTq00l4Kaniwpv/BqCbMMlqBYHCXZBH8AFc50e\nUFn/w49nZC1DCR0b9toMqVXrWRcWznHUCqchGd041Gp1tyDuV77HiRwsfkFa\nQuM4XgDIybAlJHx8Q+bk53iYZVXfaA8rr1TVwlpjwapUldaIPUA3/wIw1AJB\nC44+s0LFBelXecYJiFer0X1m77QBAGiYP1O4kXwj9FQfUFpN3FpFBhazbXNQ\nayLG64QH/mHMhXjDn1K2JtgsiaE/7YqZ/+tLGVTeiua4+xw+VjF79KPX8WJg\n6exUa6KqEKrPYV0gzS1HYN0/7lhaxlynRn5u663oC3ijaxPxAiVgRRASwuL5\nflifEU8DSXwai7JQ1st0nO+ie0LZdau10x5301gx5Oc0QqoeiiYNZQ7cOitT\nXqbb/IdQj4qjyWPB+/JF+UxfDC+FujHRdBE4ubD8wHMSzwbcHdYr/aQjIsTE\nsXFjTbNQ7J/F9oYnhwrbvRzprjAWz7+LX+w2VpItRhL8kbJH5QtK5WdR9eK4\niwvrBfl/CPkYaduOe+THNX7GQ3YCsd6TH0+LvAiQNQLIIFtY2nH0ma5NX1WO\nKZ9Bmy8YZbZu7GV56HSCJRleqQK+A6XY7vbKG1mrjJW5/5uC/WN/IhmOnd8a\n3+uT\r\n=cwAv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"videojs.framebyframe.js","gitHead":"985da62e88f1bf4ebe9efd23598440b1ca437854","scripts":{"test":"echo No tests yet!"},"_npmUser":{"name":"douglassllc","email":"development@douglassllc.com"},"repository":{"url":"git+https://github.com/douglassllc/videojs-framebyframe.git","type":"git"},"_npmVersion":"6.14.4","description":"video.js plugin that allows users to step frame-by-frame through a video.","directories":{},"_nodeVersion":"10.15.0","dependencies":{"video.js":">=5.3.0"},"_hasShrinkwrap":false,"devDependencies":{"grunt":">=0.4.5","grunt-jscs":"^2.7.0","grunt-contrib-watch":">=0.6.1","grunt-contrib-concat":">=0.4.0","grunt-contrib-jshint":">=0.10.0","grunt-contrib-uglify":">=0.5.0"},"_npmOperationalInternal":{"tmp":"tmp/videojs-framebyframe_1.1.1_1586523614046_0.1230062919509527","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@douglassllc/videojs-framebyframe","version":"1.2.0","description":"video.js plugin that allows users to step frame-by-frame through a video.","main":"videojs.framebyframe.js","repository":{"type":"git","url":"git+https://github.com/douglassllc/videojs-framebyframe.git"},"scripts":{"release":"standard-version --no-verify --release-as","release:major":"standard-version --no-verify --release-as major","release:minor":"standard-version --no-verify --release-as minor","release:patch":"standard-version --no-verify --release-as patch"},"keywords":["video","videojs","videojs-plugin"],"dependencies":{"video.js":">=5.3.0"},"devDependencies":{"grunt":">=0.4.5","grunt-contrib-concat":">=0.4.0","grunt-contrib-jshint":">=0.10.0","grunt-contrib-uglify":">=0.5.0","grunt-contrib-watch":">=0.6.1","grunt-jscs":"^2.7.0","standard-version":"^9.5.0"},"author":{"name":"Douglass E Hock","email":"doug@douglassllc.com","url":"http://douglassllc.com"},"license":"MIT","contributors":[{"name":"Helena Rasche","url":"@erasche"},{"name":"Miguel Grinberg","url":"@miguelgrinberg"}],"bugs":{"url":"https://github.com/douglassllc/videojs-framebyframe/issues"},"homepage":"https://github.com/douglassllc/videojs-framebyframe","_id":"@douglassllc/videojs-framebyframe@1.2.0","gitHead":"16cc0acf6cfa098ca7e9338be66862837b6e070c","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-iT5nS5NwxzIZAVtpoBpbV7Gnj6l131MWJ4KoAnVQVnSc6CRSQPckX3/tSxOj6TwJ84WqtjvPxQ+sjrAvMTz5ZA==","shasum":"a8328cf1261e28a7ba07523782ec9cbe461d43d1","tarball":"https://registry.npmjs.org/@douglassllc/videojs-framebyframe/-/videojs-framebyframe-1.2.0.tgz","fileCount":13,"unpackedSize":46861,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLNMdv1XUkf52QstyGMSsOVbMM9n99581eUIbYWo0iugIgS5xRlWBToM+WN2sIa/4Qf2h7woVYZXuqJCjd+sPNp0A="}]},"_npmUser":{"name":"douglassllc","email":"development@douglassllc.com"},"directories":{},"maintainers":[{"name":"douglassllc","email":"development@douglassllc.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/videojs-framebyframe_1.2.0_1725293246974_0.15998551185641063"},"_hasShrinkwrap":false}},"time":{"created":"2020-04-10T12:52:00.511Z","modified":"2024-09-02T16:07:27.372Z","1.1.0":"2020-04-10T12:52:00.649Z","1.1.1":"2020-04-10T13:00:14.287Z","1.2.0":"2024-09-02T16:07:27.198Z"},"bugs":{"url":"https://github.com/douglassllc/videojs-framebyframe/issues"},"author":{"name":"Douglass E Hock","email":"doug@douglassllc.com","url":"http://douglassllc.com"},"license":"MIT","homepage":"https://github.com/douglassllc/videojs-framebyframe","keywords":["video","videojs","videojs-plugin"],"repository":{"type":"git","url":"git+https://github.com/douglassllc/videojs-framebyframe.git"},"description":"video.js plugin that allows users to step frame-by-frame through a video.","contributors":[{"name":"Helena Rasche","url":"@erasche"},{"name":"Miguel Grinberg","url":"@miguelgrinberg"}],"maintainers":[{"name":"douglassllc","email":"development@douglassllc.com"}],"readme":"videojs-framebyframe\n====================\n\n[![npm version](https://img.shields.io/npm/v/@douglassllc/videojs-framebyframe.svg?style=flat)](https://www.npmjs.com/package/@douglassllc/videojs-framebyframe)\n[![License](https://img.shields.io/npm/l/@douglassllc/videojs-framebyframe.svg)](LICENSE)\n\n\nAllows users to step frame-by-frame through a video.\n\nThis has to make an unfortunate assumption about framerate, but it should be\n\"ok\" for general use. If you can run framerate detection on the server side,\nthis plugin works perfectly for you.\n\n## Updates included in this Fork\n\n- Updated code causing warnings for deprecated methods .plugin -> .registerPlugin\n- Appends buttons after playToggle\n- Added .css to package\n- Updated code to migrate from v7 to v8 of videojs. Replace extend() call. (https://videojs.com/guides/videojs-7-to-8/)\n\n## Installation\n\n```console\n$ npm install @douglassllc/videojs-framebyframe\n```\n\n## Usage\n\n```\nimport 'videojs-framebyframe/videojs.framebyframe.js'\nimport 'videojs-framebyframe/videojs.framebyframe.css'\n\nlet options: {\n  plugins: {\n    framebyframe: {\n      fps: 30,\n      steps: [\n        { text: '< 1f', step: -1 },\n        { text: '1f >', step: 1 }\n      ]\n    }\n  }\n}\n\nlet player = videojs('my-video', options)\n```\n\n## Framerate Issues\n\nWe have no easy way to calculate framerate in Javascript, so we make a guess.\nIf you're serving the video yourself or otherwise can calculate the FPS value,\nthen you should use that and supply it to your videojs instance.\n\n- http://stackoverflow.com/questions/20336955/how-to-step-one-frame-forward-and-one-frame-backward-in-video-playback\n- http://stackoverflow.com/questions/4298084/html5-frame-by-frame-viewing-frame-seeking\n- https://github.com/videojs/video.js/issues/692\n\n## Original Contributors\n\n- Helena Rasche (@erasche)\n- Miguel Grinberg (@miguelgrinberg)\n\n## License\n\nLicensed under MIT\n","readmeFilename":"README.md"}