One-click bookmarklet to extract full transcripts from Microsoft Stream recordings hosted on SharePoint. Defeats lazy-loaded transcript panes. Search, filter by speaker, download in multiple formats.
Microsoft Stream (SharePoint) recordings with transcription enabled show a Transcript pane in the video player — but:
- Download is permission-locked — only the recording owner can export the transcript file
- Virtualized list — the pane renders only ~10-15 entries at a time; scrolling destroys old items, making
Ctrl+A→Ctrl+Ccapture only a small slice - No public API — there's no endpoint to fetch transcript data for recordings you can view but don't own
→ Open the installer page and drag the green button to your bookmarks bar.
- Show your Bookmarks Bar (
Ctrl+Shift+B) - Right-click the Bookmarks Bar → "Add page..." or "Add bookmark"
- Set name:
Extract Transcript - Set URL to:
javascript:void((async()=>{try{var r=await fetch('https://gist.githubusercontent.com/dog-broad/6f9c99d3e3d11a5af9ba198bab9e2e6d/raw/transcript-extractor.js?v='+Date.now());if(!r.ok)throw new Error('HTTP '+r.status);var t=await r.text();eval(t);}catch(e){alert('Failed to load transcript extractor: '+e.message);}})())
- Save. Done.
- Open the Microsoft Stream recording in your browser
- Click the "Transcript" button on the video player to open the transcript pane
- Wait 2-3 seconds for entries to appear
- Click "Extract Transcript" in your bookmarks bar
- A new tab opens with the complete transcript — searchable, filterable, and downloadable
| Feature | Description | |
|---|---|---|
| 🔄 | Defeats lazy loading | Auto-scrolls the virtualized list across 3 passes to force all entries to render |
| 🔍 | Full-text search | Instant search with highlighted matches. Overrides Ctrl+F |
| 👥 | Speaker filter | Toggle speakers on/off with filter chips |
| 📋 | Multiple export formats | Download as .txt, .json, .srt, or .csv |
| 🔒 | 100% client-side | No data leaves your browser. No server. No tracking |
| 🔁 | Auto-updates | Fetches the latest script on every click — no reinstall needed |
| Issue | Solution |
|---|---|
| Nothing happens on click | Chrome strips javascript: when pasting into the address bar. Must be saved as a bookmark. Edit it and confirm the URL starts with javascript: |
| "Transcript pane not found" | Open the Transcript pane first (click the Transcript button on the player). Wait for entries to appear before clicking the bookmarklet |
| Only partial entries | For very long recordings, click the bookmarklet a second time. Each run does 3 scroll passes |
| New tab blocked | Allow popups for the SharePoint domain. Look for the blocked popup icon in the address bar |
| Script fails to load | VPN/proxy may block GitHub Gist. Copy the raw script and paste into the browser console (F12 → Console → Enter) |
For FAQs and detailed troubleshooting, see the installer page.
Issues welcome! If you hit a problem, please open an issue with:
- Browser + version
- Any console errors (F12 → Console)
- Screenshot of the transcript pane (optional)
The main extraction script lives in a separate Gist — fork and suggest changes there, or open a PR on this repo for the installer page.
MIT — use freely, modify freely, distribute freely.