demo.mov
This repository provides a minimal example of how to create a Chrome extension that records the user's screen allowing navigation or URL changes on the current tab.
This functionality is only possible using the deprecated Manifest V2, so we provide an example that uses Manifest V3.
- Screen recording is not possible using the new offscreen API in Manifest V3, as discussed in this Stack Overflow post.
- Previous methods of screen recording, such as
chrome.desktopCapture.chooseDesktopMedia()
, no longer work in Manifest V3, as discussed in this Stack Overflow post and this GitHub issue. - All existing video recording extensions currently use Manifest V2, as noted in the above issues.
- Clone this repository to your local machine
- Open the Google Chrome browser and go to
chrome://extensions/
. - Turn on the "Developer mode" toggle in the top right corner.
- Click on the "Load unpacked" button and select the directory where you cloned this repository.
- The extension should now be loaded and ready to use.
- Click on the extension icon in the top right corner of the browser.
- Click on the "Start Recording" button to start recording your screen.
- It will open a new extension tab that is pinned and without a title. Select any screen.
- Click on the "Stop Recording" button to stop the recording.
- The recorded video will be displayed on screen (you can do anything you want in
content.js
file).
Because this is a minimal example, we do not address these issues:
- You can't start/stop recording on non-http pages (like
chrome://extensions
)