π Website: teamsvideotranscriptexporter.com β features, screenshots, FAQ, install link
Download videos and transcripts from MS Teams meeting recordings, SharePoint, and Microsoft Stream (videos uploaded to SharePoint/OneDrive and played through the Stream player) β even when the built-in download button is disabled.
Works on:
teams.microsoft.comandteams.cloud.microsoft(Teams web client)*.sharepoint.commeeting-recording links*.sharepoint.com/.../_layouts/15/stream.aspxβ the Stream-on-SharePoint player (any MP4 someone uploaded to SharePoint or OneDrive and shared)
About Microsoft Stream: Microsoft retired the standalone Stream (Classic) product at
web.microsoftstream.comin early 2024. The current Stream (on SharePoint) product reuses the same player whenever an MP4 lives on SharePoint or OneDrive, so this extension covers it automatically.
- In-browser download β Video+Audio (MP4), Audio Only (M4A), or Video Only. No extra tools needed.
- Parallel segment fetching β tunable concurrency (1β16 segments at once) with automatic backoff if SharePoint throttles. Multi-threaded mux off the UI thread.
- Editable filename β auto-derived from the page title.
- Floating banner widget as a fallback for when the SharePoint command bar re-renders or hides the button.
- Automatic detection β the extension watches for the transcript metadata call and adds a Download Transcript button.
- Three formats β RAW JSON, standard WebVTT, or Grouped VTT (consecutive lines from the same speaker collapsed into a block).
- Live preview of each format in the modal.
- Last-used format remembered across sessions.
- Clear dialog if the meeting was never transcribed, instead of a silent failure.
Light-mode versions live next to these in
demo-website/src/assets/screenshots/light/.
Open https://chromewebstore.google.com/detail/ms-teams-transcript-downl/hmljlkhcebhkkhbbafiheolbneecoinp and click Add to Chrome.
- Clone or download this repository.
- Open
chrome://extensions/. - Toggle Developer mode on (top right).
- Click Load unpacked and select the
src/folder. - You should see MS Teams Video & Transcript Downloader in the list.
- Open any meeting recording or shared MP4 in Teams, SharePoint, or the Stream-on-SharePoint player.
- Click the red Download Video button in the command bar (or in the floating banner at the top of the page).
- Pick a format and click Download. The file lands in your Downloads folder.
- Optional: tune the Parallel segment downloads selector (default 4) β higher = faster, but increases the chance of SharePoint throttling. 429s are auto-retried.
- Open the Transcript tab on a recording.
- Click Download Transcript in the transcript panel (or in the floating banner).
- Pick a format in the modal and click Download.
Your last-used format is remembered as the default.
src/
βββ manifest.json # MV3 β intercept.js runs MAIN/document_start, content.js runs ISOLATED/document_idle
βββ intercept.js # fetch() interceptor β captures transcript + video manifest URLs and auth tokens
βββ content.js # UI, transcript flow, video download, modals, floating widget
βββ modal.css # Styles
βββ icons/
storageβ remember the user's last-used transcript format.- Host permissions on
teams.microsoft.com,teams.cloud.microsoft, and*.sharepoint.com.
- Refresh the page after installing.
- Open DevTools (F12) β Console and look for
[Transcript Downloader]messages. - Verify the URL is on
teams.microsoft.com,teams.cloud.microsoft, or*.sharepoint.com. - Wait a few seconds β the transcript metadata call may not have fired yet.
- Check the console for errors.
- Verify the video / transcript actually plays in the native UI.
- Refresh the page (auth tokens are short-lived) and try again.
- Confirm you have permission to view the content.
- Reload it from
chrome://extensions/. - Clear cache and reload the SharePoint/Teams page.
- All processing happens locally in the browser β no data is sent to any external server.
- No tracking, no analytics.
- Open source.
- The extension only uses the same Microsoft URLs the native player already calls.
- Chrome / Edge only (Manifest V3).
- Only works when you can actually view the content in the native UI β it cannot bypass access restrictions.
- Output formats are MP4 (video, video+audio) and M4A (audio only). MP3 / WAV are no longer supported β Microsoft now AES-128-CBC encrypts SharePoint Stream segments, and no external CLI tool (ffmpeg, yt-dlp, etc.) can handle the resulting fragments. Transcode in-browser-downloaded files locally if you need a different format.
- DRM-protected videos. Microsoft hard-DRM-protects some recordings; the bytes can only be decrypted by the browser's built-in DRM module during playback. No client-side tool can produce a playable file. The extension detects this and shows a clear dialog rather than producing a broken download.
- Guest / unauthenticated viewers. When SharePoint refuses to mint tokens for guests, the segment downloads fail even though the native player still plays the video. Sign in as a tenant member, or ask the owner to share the file directly via OneDrive.
MIT β see LICENSE.
Open an issue on GitHub and pick the Bug report template. It asks for the things that actually help diagnose problems:
- Page URL pattern (redact tenant/file IDs β only the shape is needed)
- Chrome DevTools console output (F12 β Console β filter by
Transcript Downloader) - Screenshots of the page, the modal, or the console
- Extension version and browser/OS
Please redact tenant names, file titles, attendee names, etc. before posting.
Pull requests welcome.
Built to help people access their own Teams / SharePoint / Stream recordings and transcripts when the built-in download button is disabled by org policy.
Note: Intended for accessing your own meeting recordings and transcripts. Respect copyright and privacy policies.


